认识c++
bool类型
/* bool类型: 1.用来描述"真"或"假" 2.取值:true(真) false(假) 3.它占1字节( sizeof(bool) -> 1 ) */
内联函数
/* <内联函数> 1.它是函数,这一点是肯定的。 2.通过“内存膨胀”的方式,以空间换取时间,目的是为了提高程序运行的速度 3.实现方式:给“函数”和“函数声明”加上关键字“inline” 4.使用限制:若函数体中的代码太多、或者涉及循环,不建议使用“内联函数” */ #include <stdio.h> inline void func(int num); // 关键字 inline int main() { func(6); return 0; } inline void func(int num) // 关键字 inline { printf("%d\n", num); }
函数重载
/* <函数重载> 1.在同一个项目中,定义的函数名字可以重复 2.函数名必须一致 3.函数的参数列表不同 4.返回值无要求 */ #include <stdio.h> int func(int num) { return num + 100; } float func(float num) { return num; } int main() { printf("%d\n", func(66)); printf("%f\n", func(3.14f)); // 注意“函数重载”的“二义性”问题 return 0; }
函数参数缺省
/* <参数缺省> 声明函数某个参数的时候,指定一个默认值,调用该函数时 如果采用默认值,无需指定该参数 注意事项:“有函数声明”和“无函数声明”省略参数写法有点不同 */
// 无函数声明 #include <stdio.h> int func(int num, float value = 10.0f) // 对于参数,无默认值的在左,有默认值的在后 { return 666; } int main() { printf("%d\n", func(5)); return 0; }
// 有函数声明 #include <stdio.h> int func(int num, float value = 10.0f); int main() { printf("%d\n", func(5)); return 0; } int func(int num, float value) { return 666; }
引用
/* <引用> 1.对一个变量或者对象取的别名 2.定义引用的时候必须要初始化 */ #include <stdio.h> int main() { int playerGameAbility = 9; int& pga = playerGameAbility; // 定义引用,必须要初始化 // 引用只是个别名,所以说,它和被引用的东西对应的是同一段内存,引用是没有自己的内存的 printf("%d\n", playerGameAbility); pga = 666; printf("%d\n", playerGameAbility); return 0; }
命名空间
/* <命名空间> 1.命名空间是用来组织和重用代码的编译单元 2.通过命名空间,来避免冲突,解决重名现象 3.命名空间关键字 namespace 4.作用域运算符 :: 5.命名空间可以嵌套 */ #include <stdio.h> namespace NAME_1 { int num = 2; void func() { printf("NAME_1 -> func\n"); } namespace NAME_1_1 { int num = 4; void func() { printf("NAME_1_1 -> func\n"); } } } int main() { int num = 6; printf("%d \n", NAME_1::num); printf("%d \n", NAME_1::NAME_1_1::num); printf("%d \n", num); return 0; } // 下面的空间,还是续接上面的空间 // 这种情况也叫“命名污染”,可以合理利用这个污染,在不同地方,完善同一个命名空间 namespace NAME_1 { char a; int num; } // 命名空间的取别名 namespace A = NAME_1;
cin 和 cout(类似 printf、scanf)
#include <iostream> int main() { int num; std::cin >> num; // std 空间下的 cin(输入)、cout(输出)、endl(换行) std::cout << num << std::endl; return 0; }
#include <iostream> using namespace std; // 声明使用 std 空间,以后再使用 cin、cout、endl就不用再强调 std::xxx int main() { int num; cin >> num; cout << num << endl; return 0; }
#include <iostream> using namespace std; int main() { int a, b, c, d, e, f, g; cin >> a >> b >> c >> d >> e >> f >> g; // 不断输入数据,然后自动将数据分配给 a、b、c... cout << a << b << c << d << e << f << g << endl; // 输出 a、b、c... cout << "Hello World!" << endl; return 0; }
#include <iostream> using std::cin; // (使用)引入 std 下的 cin using std::cout; // (使用)引入 std 下的 cin using std::endl; // (使用)引入 std 下的 cin int main() { cout << "Hello World!" << endl; return 0; }
new 和 delete(类似 malloc、free)
#include <iostream> using namespace std; int main() { // 1.申请单个内存(用来存放一个整型数据) int* p1 = new int; *p1 = 15; // 2.申请单个内存且初始化 int* p2 = new int(666); // 括号里面的666,是你想要在这个内存里面存的整型数据 cout << *p2 << endl; // 3.批量申请(连续的内存)注意!批量申请无法初始化 int* p3 = new int[10]; for (int i = 0; i < 10; i++) { p3[i] = i; // 赋值 cout << "p3[" << i << "] = " << p3[i] << endl; // 输出值 } // 释放内存 delete p1; // 单个内存的释放 delete p2; // 单个内存的释放 delete[] p3; // 批量内存的释放 return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在 Windows 10 上实现免密码 SSH 登录
· C#中如何使用异步编程
· SQL Server 内存占用高分析及解决办法(超详细)
· ffmpeg简易播放器(1)--了解视频格式
· 20250116 支付宝出现重大事故 有感