C++学习笔记:函数、类定义与指针解析

版权申诉
PDF格式 | 1.47MB | 更新于2024-09-07 | 101 浏览量 | 0 下载量 举报
收藏
"这份资源是关于C++编程的学习笔记,主要涵盖了函数的声明与定义、类的定义与内存分配、函数的内联、变量类型、静态变量、外部变量、析构函数以及指针等基础知识。" 在C++编程中,函数的声明与定义是重要的概念。声明函数时,如`int add(int x, int y);`,我们告知编译器函数的存在及其参数和返回类型,但不实际分配内存。而定义函数,如`int add(int x, int y) { return x + y; }`,则包含了函数的具体实现,此时编译器才会为函数分配内存。 类的定义涉及到对象的内存布局。在类中声明函数,如`void setColor(int r);`,表明了成员函数的存在,但并不立即分配内存。而在类外定义函数,如`void MyColor::setColor(int r) {...}`,则完成了函数的实现。使用内联函数(inline)可以提高效率,因为它允许编译器将函数体插入到每个调用它的位置,避免函数调用的开销,但大函数不推荐使用内联,因为可能导致代码膨胀。 变量类型是C++的基础,包括整数类型(如`int`)、布尔类型(`bool`)、字符类型(`char`)和宽字符类型(`wchar_t`)。静态变量(`static`)在函数内部保持其值,外部变量(`extern`)是在多个文件间共享的,寄存器变量(虽然很少使用,用于优化存储在CPU寄存器中),以及自动存储变量(默认情况下,函数内的变量为自动存储)。 析构函数是C++面向对象编程的关键特性,与构造函数相反,它在对象生命周期结束时自动调用,用于清理对象占用的资源,如释放动态分配的内存。其定义类似构造函数,但前缀有波浪线`~`。 指针是C++中的强大工具,`int *p = &a;`声明了一个指向`int`类型的指针`p`,并将变量`a`的地址赋值给它。`&`操作符在这里既是取地址运算符,用于获取变量的内存地址,也是在声明指针时指定其类型的方式。指针本身也有内存地址,因此可以有指针的指针等复杂结构。 这份笔记提供了C++初学者从基础到进阶的重要知识点,对于理解C++的核心概念非常有帮助。通过深入学习这些内容,可以为进一步的C++编程实践打下坚实基础。

相关推荐