摘要: 用std::cout输出关系运算表达式时,关系表达式要加括号,否则编译会报错。例如: ```cpp #include int main(int argc, char **argv) { std::cout ' to binary 'operator<<' 4 | std::cout << 1 < 2 阅读全文
posted @ 2023-05-31 20:19 AibaAsagi 阅读(100) 评论(0) 推荐(0)
摘要: CPP 浮点类型不能使用 % 进行取余操作 但是可以使用 *fmod*f、*fmod* 或 *fmodl* 进行取余操作 例子如下: ```cpp #include #include int main(int argc, char **argv) { double a = 1.2; double b 阅读全文
posted @ 2023-05-31 20:16 AibaAsagi 阅读(534) 评论(0) 推荐(0)
摘要: * 把值写在小括号中,等于号可以省略(C++ 标准) ```cpp int a = (15); int b(20); ``` * 把值写在花括号中,等于号也可以省略(C++11 标准),统一初始化列表 注意:在 Linux 平台下,编译需要加 -std=c++11 参数 ```cpp int a = 阅读全文
posted @ 2023-05-31 17:37 AibaAsagi 阅读(30) 评论(0) 推荐(0)
摘要: **函数返回机制** 函数返回值的传递分为两种情况: * 当返回的对象大小不超过 8 字节时,通过寄存器(eax edx)返回 * 当返回的对象大小大于 8 字节时,通过栈返回。如果返回的是 `struct` 或 `class 对象`,即使其大小不大于 8 字节,也是通过栈返回的。 在通过栈返回的时 阅读全文
posted @ 2023-05-24 17:38 AibaAsagi 阅读(83) 评论(0) 推荐(0)
摘要: 析构函数是一个成员函数,在对象超出范围或通过调用 `delete` 显示销毁对象时,会**自动调用析构函数**。 一个类有且仅有一个析构函数。如果定义类的时候没写析构函数,则编译器生成默认析构函数。如果定义了析构函数,则编译器不生成默认析构函数。 析构函数在对象消亡时即自动被调用。可以定义析构函数在 阅读全文
posted @ 2023-05-24 11:08 AibaAsagi 阅读(270) 评论(0) 推荐(0)
摘要: **参数是对象** 对象作为函数参数时,是**值传递**,即函数会创建一个对象的副本,形参和实参是不同的对象,它们所占地址空间不同。因此,形参的改变,并不影响实参的值。 ```cpp #include #include #include class Person { public: Person(c 阅读全文
posted @ 2023-05-23 16:05 AibaAsagi 阅读(214) 评论(0) 推荐(0)