相关疑难解决方法(0)

822
推荐指数
10
解决办法
35万
查看次数

initialize,define之间的区别是声明一个变量

在阅读问题后,我知道声明和定义之间的区别.那么这意味着定义等于声明加初始化吗?

c c++ terminology

64
推荐指数
3
解决办法
9万
查看次数

在C++ 14中,C++标准是否在使用不确定值和未定义行为方面发生了变化?

正如初始化所述,需要进行左值到右值的转换?是int x = x;UB吗?C++标准在3.3.2 声明部分中有一个令人惊讶的例子,其中a int用它自己的不确定值初始化:

int x = 12;
{ int x = x; }
Run Code Online (Sandbox Code Playgroud)

这里第二个x用它自己的(不确定的)值初始化.- 结束例子 ]

Johannes对此问题的回答表明是未定义的行为,因为它需要左值到右值的转换.

在最新的C++ 14草案标准中N3936,可以在此处找到此示例已更改为:

unsigned char x = 12;
{ unsigned char x = x; }
Run Code Online (Sandbox Code Playgroud)

这里第二个x用它自己的(不确定的)值初始化.- 结束例子 ]

C++ 14中有关于不确定值和未定义行为的变化,这些变化在示例中引发了这种变化吗?

c++ undefined-behavior language-lawyer c++11 c++14

62
推荐指数
1
解决办法
3991
查看次数

默认变量值

如果我在声明它时没有为变量赋值,它是默认为零还是只是以前在内存中的任何内容?

例如

float x;
Run Code Online (Sandbox Code Playgroud)

c++

51
推荐指数
5
解决办法
6万
查看次数