Dav*_*vid 2 compiler-construction variables initialization visual-studio
这个问题之前不得不被问到,所以它让我再次问它,但我无法找到所有谷歌和搜索stackoverflow.
我将一堆linux代码移植到windows中,其中很大一部分假设所有内容都自动初始化为零或null.
int whatever;
char* something;
Run Code Online (Sandbox Code Playgroud)
...然后立即做一些可能会让'某事'无效的事情,并针对'某事'进行测试
if(something == NULL)
{
.......
}
Run Code Online (Sandbox Code Playgroud)
我真的不想在整个代码中回过头来说:
int whatever = 0;
char* something = NULL;
Run Code Online (Sandbox Code Playgroud)
即使这是处理它的正确方法.这只是非常耗时.
否则,我声明一个变量,如果我自己没有设置它,它会被初始化为疯狂的东西.
MSVC中不存在此选项,老实说,编写应用程序的人犯了一个大错误.该代码不可移植,因为C/C++表示未初始化的变量具有未定义的值.我建议将"将警告视为错误"选项并重新编译; MSVC 应在每次使用变量时给出警告而不进行初始化.
| 归档时间: |
|
| 查看次数: |
1981 次 |
| 最近记录: |