由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - C++里 variable declaration 有什么用?
相关主题
[合集] 问个及其初级问题。c++a ANSI C question
不用头文件,如何调用函数?C++请问遇到如下情况怎么进行抽象
c++ does not check const for extern variable?which header file declares ntohs() in c++ ?
C 和 C++ 的区别function declaration
C++怎样设置全局变量请教一个编程问题
诚心请教Perl:简单的Variable Match in Regular expressionfunctional programming lang里面 如果我说以後会大面积火的,还是lisp (clojure)
怎样include一个函数类成员函数调用其它函数
关于inline function里的static variable有人能解释一下这段C++代码吗
相关话题的讨论汇总
话题: c++话题: variable话题: 定义话题: definition
进入Programming版参与讨论
1 (共1页)
c*********n
发帖数: 128
1
C++里 variable declaration 有什么用?
function declaration的意义在于你可以先声明了有这个函数然后后面再写这个函数的
具体code,这样代码的结构可以更清晰。
可是variable declaration有什么用呢?
比如来如下一句:
extern int x;
如果x是在其他文件里面定义的,那这句话倒是有用,
可是如果x是在同一个文件里定义的,那还得在后面某个地方再来一句int x;来定义这
个x
还不如就在这里一起给定义了,费那事干吗?
按照Thinking in C++上说的
It can mean the definition is external to the file, or that the definition
occurs later in the file.
这后一种情况,有什么存在的必要么?
o******r
发帖数: 259
2
如果你没定义就用了某个变量,
compiler怎么知道你是typo还是啥,
它得scan 到后面的定义才能分析前面的code
嵌套一下不累死了
这还不是最主要的,
c/c++ compiler得知道变量的type, 编译时要检查

【在 c*********n 的大作中提到】
: C++里 variable declaration 有什么用?
: function declaration的意义在于你可以先声明了有这个函数然后后面再写这个函数的
: 具体code,这样代码的结构可以更清晰。
: 可是variable declaration有什么用呢?
: 比如来如下一句:
: extern int x;
: 如果x是在其他文件里面定义的,那这句话倒是有用,
: 可是如果x是在同一个文件里定义的,那还得在后面某个地方再来一句int x;来定义这
: 个x
: 还不如就在这里一起给定义了,费那事干吗?

X****r
发帖数: 3557
3
比如在头文件里,它既被其它源文件所包含,也被自己对应的源文件所包含,所以同一
个声明就适用于两种情况。
函数原型不也是一样的吗?

【在 c*********n 的大作中提到】
: C++里 variable declaration 有什么用?
: function declaration的意义在于你可以先声明了有这个函数然后后面再写这个函数的
: 具体code,这样代码的结构可以更清晰。
: 可是variable declaration有什么用呢?
: 比如来如下一句:
: extern int x;
: 如果x是在其他文件里面定义的,那这句话倒是有用,
: 可是如果x是在同一个文件里定义的,那还得在后面某个地方再来一句int x;来定义这
: 个x
: 还不如就在这里一起给定义了,费那事干吗?

c*********n
发帖数: 128
4
有两种情况,第一,该变量是在另外的文件中定义的,第二,该变量是在本文件中定义
的,但是定义(definition)出现在后面,前面先声明(declaration)一下。
对于第二种情况,为什么不再这个地方干脆就定义了算了呢?
换句说话,对于所有的
extern int x;
可以就在这个地方用
int x;
给定义了不就完了?

【在 o******r 的大作中提到】
: 如果你没定义就用了某个变量,
: compiler怎么知道你是typo还是啥,
: 它得scan 到后面的定义才能分析前面的code
: 嵌套一下不累死了
: 这还不是最主要的,
: c/c++ compiler得知道变量的type, 编译时要检查

o******r
发帖数: 259
5
你说的第二种是用法问题,
有时候需要先使用,
后定义,
方便与否而已

【在 c*********n 的大作中提到】
: 有两种情况,第一,该变量是在另外的文件中定义的,第二,该变量是在本文件中定义
: 的,但是定义(definition)出现在后面,前面先声明(declaration)一下。
: 对于第二种情况,为什么不再这个地方干脆就定义了算了呢?
: 换句说话,对于所有的
: extern int x;
: 可以就在这个地方用
: int x;
: 给定义了不就完了?

1 (共1页)
进入Programming版参与讨论
相关主题
有人能解释一下这段C++代码吗C++怎样设置全局变量
问一个C++的问题诚心请教Perl:简单的Variable Match in Regular expression
深情的呼唤师傅们!C++做题做不出来啦!怎样include一个函数
C++ help: 一个multiple definition problem.关于inline function里的static variable
[合集] 问个及其初级问题。c++a ANSI C question
不用头文件,如何调用函数?C++请问遇到如下情况怎么进行抽象
c++ does not check const for extern variable?which header file declares ntohs() in c++ ?
C 和 C++ 的区别function declaration
相关话题的讨论汇总
话题: c++话题: variable话题: 定义话题: definition