本节书摘来自异步社区出版社《C和C++代码精粹》一书中的第1章,第1.16节,作者: 【美】Chuck Allison,更多章节内容可以访问云栖社区“异步社区”公众号查看。
C和C++代码精粹在C++中,声明可以出现在语句可以出现的任何地方。这就意味着不必在程序块的开始进行一组声明,而可以在第一次使用对象时定义它。例如,程序清单1.17中数组a在整个函数体中都是可见的,但是n直到声明后才有效,而i直到下一行才有效。注意i在第二次for循环中被再次声明,这说明了在循环中声明的变量的作用域是该循环本身。
程序清单1.17 声明是语句
// declare.cpp #include <iostream> using namespace std; main() { int a[] = {0,1,2,3,4}; //打印地址和大小 cout << "a == " << (void *) a << endl; cout << "sizeof a == " << sizeof a << endl; //顺序打印 size_t n = sizeof a / sizeof a[0]; for (int i = 0; i < n; ++i) cout << a[i] << ' '; cout << endl; //倒序打印 for (int i = n-1; i >= 0; --i) cout << a[i] << ' '; cout << endl; } //输出: a == 0xffec sizeof(a) == 10 0 1 2 3 4 4 3 2 1 0本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。
相关资源:C和C 代码精粹