小编Far*_*ian的帖子

所有的C ++标头都是类吗?

我正在阅读Deitel的书中的C ++,这本书达到了这一部分:

某些函数(例如main)不是类的成员。这些功能称为全局功能。我们从头开始介绍各种功能,以介绍不属于特定类的全局功能的概念。

在说了这个块之后(该块本身完全在Math库中),它引入了一些函数,例如属于cmath标头的sqrt(),最后它说所有属于cmath的函数都是全局的!

所以,这是我的问题:在最上面,我们说所有不属于任何类的函数都是全局函数。但随后它说与cmath相关的所有功能都是全局的!那不是矛盾吗?我的意思是,如果我们接受这一点,则意味着并非所有标头都是class。这样对吗?

C ++ Deitel书

c++

8
推荐指数
1
解决办法
161
查看次数

这就是 size() 函数在 std::string 中真正工作的方式吗?

我编写了一个可以获取std::string类对象大小的简单函数,并且我知道该size()函数std::string执行相同的工作,所以我想知道该size()函数是否真的像我的函数一样工作,或者它是否更复杂?如果它更复杂,那么如何?

int sizeOfString(const string str) {
    int i=0;
    while (str[i] != '\0') {
        ++i;
    }
    return i;
}
Run Code Online (Sandbox Code Playgroud)

c++

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

同一对象的“sizeof”的不同答案

为什么sizeof在这段代码中为同一个对象返回两个不同的答案?

class Test {
    public:
        int operator!() const {
            return sizeof(this);
        }
};
int main() {
    Test obj;
    std::cout << sizeof(obj) << " | " << !obj;
}
Run Code Online (Sandbox Code Playgroud)

上面代码的输出是 1 | 8

c++ oop class sizeof

-2
推荐指数
1
解决办法
77
查看次数

标签 统计

c++ ×3

class ×1

oop ×1

sizeof ×1