相关疑难解决方法(0)

以下短语在C++中的含义是什么:零,默认和值初始化?

以下短语在C++中的含义是什么:

  • 零初始化,

  • 默认初始化,和

  • 值初始化

C++开发人员应该了解他们什么?

c++ initialization c++-faq

183
推荐指数
2
解决办法
3万
查看次数

全局内存是用C++初始化的吗?

全局内存是用C++初始化的吗?如果是这样,怎么样?

(二)澄清:

当程序启动时,在初始化基元之前,内存空间中的内容将成为全局内存?我试图了解它是否被清零,或者例如垃圾.

情况是:可以instance()在初始化之前通过调用设置单例引用:

MySingleton* MySingleton::_instance = NULL;
Run Code Online (Sandbox Code Playgroud)

并获得两个单例实例?

在单个多个实例上查看我的C++测验...

c++ memory memory-management

13
推荐指数
3
解决办法
7082
查看次数

无法理解混淆的C代码

我无法理解这一点.请解释.

编辑:它打印:'hello, world!'

#include <stdio.h>

int i;
main()
{
  for(;i["]<i;++i){--i;}"];read('-'-'-',i+++"hell\o, world!\n",'/'/'/'));
  //For loop executes once, calling function read with three arguments.
}

read(j,i,p)
{
  write(j/p+p,i---j,i/i);  //how does it work? like printf?
}
Run Code Online (Sandbox Code Playgroud)

c

11
推荐指数
1
解决办法
1593
查看次数

为什么文件范围静态变量必须为零初始化?

C++默认初始化不会将变量与自动存储器清零,为什么对静态存储变量进行特殊处理?

它是由C和C++定义的东西必须兼容吗?如果是这样的话,为什么C决定进行零初始化?

如果文件范围静态变量与初始化程序一起提供,它们将首先进行零初始化,然后再次进行常量/动态初始化.这不是多余的吗?例如,以下代码来自cppreference:http://en.cppreference.com/w/cpp/language/zero_initialization

#include <string>

double f[3]; // zero-initialized to three 0.0's
int* p;   // zero-initialized to null pointer value
std::string s; // zero-initialized to indeterminate value
               // then default-initialized to ""
int main(int argc, char* argv[])
{
    static int n = argc; // zero-initialized to 0
                         // then copy-initialized to argc
    delete p; // safe to delete a null pointer
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,为什么n不能直接初始化为argc?

编辑:这个问题的一部分已经回答了这里的问题:静态变量初始化? 但我不认为这是重复的,因为另一个问题的答案没有回答我的第二个问题,即.为什么2阶段初始化.此外,另一篇文章的标题并没有真正说明究竟是什么问题.

c c++ initialization

8
推荐指数
2
解决办法
1457
查看次数

这两段代码有何不同?

我尝试了这些代码行,发现令人震惊的输出。我期待一些与初始化相关的原因,无论是一般还是for循环。

1.)

int i = 0;
    for(i++; i++; i++){
        if(i>10)    break;
    }
    printf("%d",i);
Run Code Online (Sandbox Code Playgroud)

输出-12

2.)

int i;
    for(i++; i++; i++){
        if(i>10)    break;
    }
    printf("%d",i);
Run Code Online (Sandbox Code Playgroud)

输出-1

我希望语句“ int i = 0”和“ int i”相同。它们之间有什么区别?

c c++ loops for-loop

-5
推荐指数
1
解决办法
117
查看次数

标签 统计

c++ ×4

c ×3

initialization ×2

c++-faq ×1

for-loop ×1

loops ×1

memory ×1

memory-management ×1