07 2022 档案
C++基础-const与一二级指针的结合
摘要:const int a = 10; int *p = &a; //会报错,常量地址不能泄露给指针 // 左:int* 右:const int* const在C++中,修饰的常量不能作为左值,在编译过程中所有出现常量的地方都会用初始值替换。 const修饰的量常出现的错误是: 常量不能再作为左值(试图
CMake基础(二) - Cmake进阶
摘要:在上一篇基础教程的基础上,这次将介绍一些更进阶的 CMake 功能和常用技巧。 ### 步骤 1: 添加库文件 在许多项目中,您可能需要使用外部库来扩展功能。下面是一个示例,演示如何添加和链接外部库。 假设您的项目需要使用一个名为 "Math" 的数学库。首先,在项目目录下创建一个包含 Math 库
CMake基础(一) - 环境准备与CMake体验
摘要:> 本人使用的系统为 xubuntu_20.04 ## 建立一个C项目 ### 一个原始完整文件 首先创建文件夹 `/cmake_tutorials/module1` , 新建文件 `main.cpp` ```cpp #include using namespace std; float addit
C++基础-掌握const的用法
摘要:const怎么理解 const 修饰的变量不能够再作为左值,初始化完成后,值不能够被修改 int main(int argc, char const *argv[]) { int a = 10; a = 20; //左值 const int b = 20; //b无法左值 return 0; } C
C++基础-函数重载
摘要:函数重载 一组函数,函数名相同,参数列表个数或类型不同,那么这一组函数称作函数重载 C++为什么支持函数重载,C语言不支持函数重载 编译器编译代码产生符号的规则是不同的: C++代码产生函数符号的时候,是函数名+参数列表类型组成的 C代码产生函数符号时,只由函数名决定 如果把此cpp 代码放入c中
C++基础-inline内联函数
摘要:/* inline内联函数 和 普通函数区别 inline内联函数: 在编译过程中,就没有函数的调用开销了, 在函数的调用点直接把函数的代码进行展开处理了 inline只是建议编译器把这个函数处理成内联函数 但不是所有inline都会被编译器处理成内联函数 - 递归 如果代码量非常的大也不会展开处理
C++基础-形参带默认值的函数
摘要://定义处可以给形参默认值,声明也可以给形参默认值 //不管何处给,形参默认值只能出现一次 //int sum(int a = 10, int b = 20); //形参带默认值的参数,只能从右向左给 //实际压栈也是从右向左 int sum(int a=10, int b=20) { return