首页 > 解决方案 > 如何重新初始化/将整数设置为空值

问题描述

示例代码:

    bool running = true;
    while (running == true) {
        int x;
        cout << "Enter an integer: ";
        cin >> x;
        string y;
        cout << "Enter a string: ";
        cin >> y;
        first.S_Return(x);
        first.S_Return(y);
        x=null; // null is not a recognised integer
        y=null;
        system("PAUSE");
       }

我想知道的是,

如果我想将任何数据类型重新初始化为 null 值,例如在声明它们时,是否有任何方法可以执行此操作,例如清除、删除、设置为 null 方法等。或者我是否需要删除一个指针并使用 new 和 delete 将它们放在堆上?

标签: c++

解决方案


C++ 不提供“未初始化”的概念,甚至很少定义“显式未定义”的常见概念。

关于“未初始化”,局部范围内非类类型的变量未初始化,并且无法在运行时检测此类变量是否已初始化。程序员只有在它们之前被赋值时才能访问这些变量。否则,程序的行为是未定义的。

关于“显式未定义”,如果需要,程序员通常会将相应数据类型范围内的一个特定值视为“未定义”。例如,对于变量“int numOfChildren”,您可以定义一个值-1来表示子级的数量未知或未评估。相反,对于指针,有一个称为 的常量nullptr,它通常用作明确表示未定义状态的值。但请注意:除非在文件范围内定义(即是全局变量) ,否则类似声明int *x不会设置xto的值。nullptrx

希望能帮助到你。


推荐阅读