C++ std::cout是否具有容纳字符的最大大小? #包括 int main(){ int b=3; int*a; *a=b; 标准::cout
为什么我看到分割错误 因为程序的行为未定义。以下是程序中的错误列表:C++ std::cout是否具有容纳字符的最大大小? #包括 int main(){ int b=3; int*a; *a=b; 标准::cout,c++,C++,为什么我看到分割错误 因为程序的行为未定义。以下是程序中的错误列表: std::您是否已经在*a=b中有UB。因为指针a未初始化,并且指向任何地方(或任何地方)。这是U.B.。只要您通过*a访问内容/引用,您就可以执行a=&B;。然后a将指向B的存储并进行定义。 *a = b; ^^ indirect through indeterminate pointer std::cout << &a << a << *a;
std::您是否已经在*a=b
中有UB。因为指针a
未初始化,并且指向任何地方(或任何地方)。这是U.B.。只要您通过*a
访问内容/引用,您就可以执行a=&B;
。然后a
将指向B
的存储并进行定义。
*a = b;
^^
indirect through indeterminate pointer
std::cout << &a << a << *a;
^ ^^
| indirect through indeterminate pointer
read an indeterminate value