随笔分类 -  C++ / 入门

摘要:结构、联合、枚举 1. 结构 (Strut) struct Date{ unsigned short year,month,day; }; // 注意 struct 后面要有 ; struct student{ char name [100]; char id[10]; short gender; 阅读全文
posted @ 2025-01-05 21:57 爱新觉罗LQ 阅读(5) 评论(0) 推荐(0) 编辑
摘要:临时对象 1. 临时对象的概念 一些临时对象,是因为我们代码书写问题而产生的。统一称临时变量为临时对象 new delete 栈 2. 产生临时对象的情况和解决 3 种情况和解决方案 class CTempValue{ public: int val1; int val2; public: CTem 阅读全文
posted @ 2024-11-10 23:40 爱新觉罗LQ 阅读(17) 评论(0) 推荐(0) 编辑
摘要:左值、右值、左值引用,右值引用,std::move函数 1. 左值和右值 int i = 10; // 对象:一块内存区域 i = 20; // 左值:能用在赋值语句等号左侧的东西,它能够代表 一个地址 // 右值:不能作为左值的就是右值 // 结论:C++ 的一条表达式,要么就是左值,要么就是右值 阅读全文
posted @ 2024-11-09 00:27 爱新觉罗LQ 阅读(39) 评论(0) 推荐(0) 编辑
摘要:临时对象深入探讨,解析,提高性能手段 1. 临时对象概念 2. 产生临时对象的情况和解决 以传值的方式给函数传递参数 类型转换生成的临时对象 / 隐式类型转换以保证函数调用成功 函数返回对象的时候 阅读全文
posted @ 2024-11-08 23:55 爱新觉罗LQ 阅读(7) 评论(0) 推荐(0) 编辑
摘要:RTTI、dynamic_cast、typeid、虚函数表 RTTI(Run Time Type Identification):运行时类型识别 > 基类中必须至少要有一个虚函数 Human * phuman = new Men; Human& q = *phuman; 通过运行时类型识别,程序能够 阅读全文
posted @ 2024-10-27 17:01 爱新觉罗LQ 阅读(4) 评论(0) 推荐(0) 编辑
摘要:友元(突破 private 限制) 友元函数 只要让函数 func 成为类 Men 的友元函数,那么 func 这个函数就能够访问类 Men 的所有成员(成员变量、成员函数),private、protected 总结: 友元函数 func(。。。) 是个函数,通过声明为某个类 Men 的友元函数,它 阅读全文
posted @ 2024-10-27 17:00 爱新觉罗LQ 阅读(13) 评论(0) 推荐(0) 编辑
摘要:多态 基类指针 // 父类指针可以 new 一个子类对象 Human *pman = new Man(); Human *pwman = new Wonan(); 抛出问题:父类指针没有办法调用子类的成员函数,那么你为什么还让父类指针 new 一个子类对象呢? 下面与虚函数搭配 虚函数(动态绑定) 阅读全文
posted @ 2024-10-26 00:56 爱新觉罗LQ 阅读(10) 评论(0) 推荐(0) 编辑
摘要:派生类 1. 派生类 2. 派生类对象定义时调用构造函数的顺序 Man man; 3. public、protected、private 4. 函数遮蔽 子类中强制调用父类的方法 方法一 方法二 子类中使用 using C++11:让父类同名函数在子类中可见 // 只能指定函数名,则凡是基类中的 p 阅读全文
posted @ 2024-10-22 01:05 爱新觉罗LQ 阅读(7) 评论(0) 推荐(0) 编辑
摘要:重载运算符、析构函数 1. 重载运算符 2个对象进行 == 比较,重载 == 运算符 说白了,就是,写一个成员函数,这个成员函数名 "operator==",这个成员函数体里边写一些比较逻辑 // 定义 Time& operator=(const Time& tmpobj) // 实现 Time& 阅读全文
posted @ 2024-10-20 19:03 爱新觉罗LQ 阅读(11) 评论(0) 推荐(0) 编辑
摘要:类内初始化、默认初始函数、=default; 类相关非成员函数 类内初始化 const成员变量的初始化 默认构造函数 =default;,=delete 阅读全文
posted @ 2024-10-15 00:49 爱新觉罗LQ 阅读(6) 评论(0) 推荐(0) 编辑
摘要:inline、const、mutable、this、static 在类定义中实现成员函数 incline 成员函数末尾的 const(声明和实现中都要加上 const) 作用:告诉系统,这个成员函数不会修改该对象里任何成员变量的值等等,也就是说,这个成员函数不会修改类 Time的任何状态。 > 也叫 阅读全文
posted @ 2024-10-13 23:58 爱新觉罗LQ 阅读(7) 评论(0) 推荐(0) 编辑
摘要:C++类 类 // public 成员提供类的接口,暴漏给外界,供外界使用 // private:提供各种实现类功能的细节方法,但不暴漏给使用者,外界无法使用 // 注意:struct 是成员默认为 public 的 class、class 成员默认是 private class student{ 阅读全文
posted @ 2024-10-09 22:04 爱新觉罗LQ 阅读(5) 评论(0) 推荐(0) 编辑
摘要:类型转换 1. static_cast(静态转换) 编译的时候就会进行类型转换,代码中要保证转换的安全性和正确性 可用于: 相关类型转换,比如:整型和实型之间的转换 子类型转成父类类型(向上转型) void * 与其它类型指针之间的转换(void *:无指针类型,可以指向任何指针类型(万能指针)) 阅读全文
posted @ 2024-10-07 23:57 爱新觉罗LQ 阅读(20) 评论(0) 推荐(0) 编辑
摘要:迭代器 iterator 迭代器遍历 Vector vector<int> vec = {100, 200, 300}; vector<int>::iterator iter; // 定义迭代器 // 迭代器 begin() / end(),反向迭代器 rbegin() / rend() int m 阅读全文
posted @ 2024-09-27 00:30 爱新觉罗LQ 阅读(4) 评论(0) 推荐(0) 编辑
摘要:Vector 定义和初始化 // 方式 1 vector<string> mystr; mystr.push_back("abc"); mystr.push_back("def"); // 方式 2:元素拷贝的初始化方式 vector<string> mystr2(mystr); vector<st 阅读全文
posted @ 2024-09-25 00:39 爱新觉罗LQ 阅读(6) 评论(0) 推荐(0) 编辑
摘要:String 类型 判空 (empty()) string s; if (s.empty()) 长度【size() / length()】 s.c_str():返回一个字符串的内容指针 这个函数的引入是为了与c语言兼容,在 c 语言中没有 string 类型,所以我们得通过 string 类对象的 阅读全文
posted @ 2024-09-23 00:01 爱新觉罗LQ 阅读(2) 评论(0) 推荐(0) 编辑
摘要:函数新特性、内联函数、const详解 函数新特性 函数回顾与后置返回类型 // 1. 前面放 auto,标识函数返回类型放到参数列表之后 // 2. 而放在参数列表之后的返回类型是通过 -> 开始的 auto func(int a, int b) -> void 内联函数 函数定义前加 inclin 阅读全文
posted @ 2024-09-17 23:33 爱新觉罗LQ 阅读(14) 评论(0) 推荐(0) 编辑
摘要:结构、权限修饰符、类 结构(struct:自定义的数据结构) struct student { // 成员变量 int number; char name[100]; void func(){ // 成员函数(方法) number++; } }; // 1. 形参为引用 void func1(stu 阅读全文
posted @ 2024-09-17 12:13 爱新觉罗LQ 阅读(3) 评论(0) 推荐(0) 编辑
摘要:范围 for,new 内存动态分配,nullptr 范围 for int main() { int arr[] = {11, 12, 13, 14, 15}; for (auto x : arr){ // 问题所在:需要将 arr 中的每一个都拷贝到 x 中去 > 节省拷贝的方法:使用指针,提升效率 阅读全文
posted @ 2024-09-16 19:04 爱新觉罗LQ 阅读(7) 评论(0) 推荐(0) 编辑
摘要:auto、头文件防卫、引用、常量 auto:变量的自动类型推断 auto 可以在声明变量时根据变量初始值的类型自动为此变量选择匹配的类型(声明时要赋予初值) auto自动类型推断发生在编译期间所以不会造成程序效率降低 头文件防卫式声明 // #ifdef, ifndef 条件编译 // #ifnde 阅读全文
posted @ 2024-09-08 23:52 爱新觉罗LQ 阅读(22) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示