相关疑难解决方法(0)

在C中使用布尔值

C没有任何内置布尔类型.在C中使用它们的最佳方法是什么?

c boolean

659
推荐指数
10
解决办法
127万
查看次数

为什么"bool c = nullptr;" 编译(C++ 11)?

我不明白为什么下面的代码编译

int main()
{
     //int a = nullptr;  // Doesn't Compile
     //char b = nullptr; // Doesn't Compile
       bool c = nullptr; // Compiles

       return 0;
}
Run Code Online (Sandbox Code Playgroud)

而评论部分没有.


我已经经历了这个这个.

这两个boolnullptr是关键字,那么什么是关于其他数据类型的独特之处?

c++ pointers null-pointer c++11

27
推荐指数
3
解决办法
5209
查看次数

什么是C++中的bool?

我遇到了一些非常有趣的代码,让我想知道bool是什么.我一直认为它是一个原始类型,如int或char或long.但今天,我看到的东西看起来像这样:

void boolPtrTest()
{
    bool thisBool = true;

    boolPtrHere(thisBool);

    printf("thisBool is %s\n", thisBool ? "true" : "false");
}

void boolPtrHere(bool& theBool)
{
    theBool = false; // uhh, dereferencing anyone?
}
Run Code Online (Sandbox Code Playgroud)

这段代码运行 - 没有错误 - 并打印"thisBool是假的"!

为了进一步使这个奇怪,我运行以下代码:

bool myBool = new bool();
Run Code Online (Sandbox Code Playgroud)

......代码运行正常!

在你去寻求一个"noobish"问题之前,我会向你投票

这是我的问题:什么布尔?它是在逐个实施的基础上定义的吗?从上面显示的证据,我会说它是一个阶级.从实际角度来看(忽略上述内容),将bool定义为int/char的typedef或者将其定义为#define'd似乎也是合适的.但是,如何知道它是什么,(这将影响你如何对待它)?

编辑:我想我会补充说我在VS 2008工作.

c++ boolean

4
推荐指数
3
解决办法
2819
查看次数

标签 统计

boolean ×2

c++ ×2

c ×1

c++11 ×1

null-pointer ×1

pointers ×1