关于C++初级读本第五版中指针的一些问题
Some questions about pointers in C++ Primer 5th Edition
我是C++的新手,正在尝试学习指针的概念。以下示例来自C++Primer第5版。我对声明有几个问题:
1) 如果pi3是在块外定义的,会发生什么?
2) C++中的块是什么?
3) 未初始化的pi3表现出什么样的行为?
int *pi3; // if pi3 is defined inside a block, pi3 is uninitialized
如果在任何块之外定义一个变量(如pi3
),它将是一个全局变量。
在C++中,一个块定义了一个静态作用域。块中声明的任何变量仅在该块中可用;它们在区块外将不可用。
一个未初始化的变量将有一个不确定的值——它可以是任何值!在指针的情况下,它可以指向任何地方。。。
通常,未初始化变量中的数据是"事先写入该空间的任何数据,因为我们太懒了,无法擦除它。"事实证明,之所以这么懒是有原因的:如果定义了一个大的局部变量(如长数组),自动擦除数据可能会对性能造成真正的影响。因此,默认情况是保持未初始化状态。
相关文章:
- 链表指针问题
- 指针问题:从不兼容的类型"int"分配给"int *"
- C++指针问题:如何修复这些代码中的错误?
- *++*++ppp,*++pp[1],*++(*(1+ppp)有什么具体的区别吗?(C/C++指针问题)
- C++ 入门加列表:10.9 "顶部"指针问题
- C++ 指针问题 - 通过方法更新指针
- 未分配正在释放的指针 - 指针问题
- 双指针问题通过函数传递错误
- 在C++中实现图形 DFS,指针问题
- 返回指针问题
- C++ - 有人有分析指针到指针问题的技巧吗?
- 选择排序指针问题
- 涉及删除操作的 C++ 指针问题
- 模板类指针问题 c++
- Swig和指针问题(python)
- 引用指针问题
- 函数指针问题
- 通过类型C++ 的继承树递归导致此指针问题
- 无法将文件读入字符数组(像往常一样,某些指针问题)
- 结构中的指针问题