随笔分类 -  初学c/c++

摘要:一 结构体内存对齐原因 1.平台原因(移植原因): “不是所有的硬件平台都能访问任意地址上的任意数据;某些硬件平台只能在某些特定地址处取某些特定的数据,否则就会抛出硬件异常”。也就是说在计算机在内存读取数据时,只能在规定的地址处读数据,而不是内存中任意地址都是可以读取的。 2.效率原因: 正是由于只 阅读全文
posted @ 2022-05-22 14:36 荒年、 阅读(25) 评论(0) 推荐(0) 编辑
摘要:一 为什么使用智能指针 #include <iostream> #include <string> #include <exception> using namespace std; void memory_leak_demo1() { string* str = new string("今天又敲了 阅读全文
posted @ 2022-05-21 14:41 荒年、 阅读(100) 评论(0) 推荐(0) 编辑
摘要:一 explicit 关键字 explicit /ɪkˈsplɪsɪt/ 明确的;清楚的;直率的;详述的 作用是表明该构造函数是显示的, 而非隐式的.不能进行隐式转换!避免歧义 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式). #in 阅读全文
posted @ 2022-05-21 07:24 荒年、 阅读(34) 评论(0) 推荐(0) 编辑
摘要:一 STL标准模板库 STL主要分为三类: algorithm(算法): 对数据进行处理(解决问题) 步骤的有限集合 container(容器): 用来管理一组数据元素 Iterator (迭代器):可遍历STL容器内全部或部分元素”的对象 STL被组织为下面的13个头文件: <algorithm> 阅读全文
posted @ 2022-05-19 01:26 荒年、 阅读(249) 评论(0) 推荐(0) 编辑
摘要:一 异常处理基本语法 // 异常发生第一现场,抛出异常 void fun() { //... throw 表达式; //.... } // 在需要关注异常的地方,捕捉异常 try { //... fun(); //... } catch(异常类型 形参) { // 异常处理代码... } catch 阅读全文
posted @ 2022-05-17 14:20 荒年、 阅读(25) 评论(0) 推荐(0) 编辑
摘要:一 函数模板的语法 所谓函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体指定,用一个虚拟的类型来代表。这个通用函数就称为函数模板。 // 函数模板定义形式 template < 类型形式参数表 > // typename T 和 class T 都可以 类型 函数名( 形式参数表 ) 阅读全文
posted @ 2022-05-13 22:33 荒年、 阅读(455) 评论(0) 推荐(1) 编辑
摘要:一 实现多态:虚函数 多态的本质: 形式上,使用统一的父类指针做一般性处理,但是实际执行时,这个指针可能指向子类对象。 形式上,原本调用父类的方法,但实际上会调用子类的同名方法。 注意: 程序执行时,父类指针指向父类对象,或子类对象时,在形式上是无法分辨的,只有通过多态机制,才能执行真正对应的方法 阅读全文
posted @ 2022-05-11 00:41 荒年、 阅读(178) 评论(0) 推荐(0) 编辑
摘要:运算符重载的基本方法:1.使用成员函数重载运算符 2.使用非成员函数(友元函数)重载运算符 一 使用成员函数重载运算符 #include <iostream> #include <string> #include <sstream> using namespace std; /* 1斤牛肉 = 2斤 阅读全文
posted @ 2022-05-06 16:03 荒年、 阅读(148) 评论(0) 推荐(0) 编辑
摘要:https://www.csdn.net/tags/MtjaEgxsOTI0MDgtYmxvZwO0O0OO0O0O.html 阅读全文
posted @ 2022-05-06 13:58 荒年、 阅读(15) 评论(0) 推荐(0) 编辑
摘要:一 友元函数 在定义一个类的时候,可以把一些函数(包括全局函数和其他类的成员函数)声明为“友元”,这样那些函数就成为该类的友元函数,在友元函数内部就可以访问该类对象的私有成员了。 1.1 使用全局函数作为友元函数 将全局函数声明为友元的写法:friend 返回值类型 函数名(参数表); // Com 阅读全文
posted @ 2022-05-05 22:49 荒年、 阅读(59) 评论(0) 推荐(0) 编辑
摘要:一 c++的 IO 流 c++的io流: 设备: 文件 控制台 特定的数据类型(stringstream) c++中,必须通过特定的已经定义好的类, 来处理 IO(输入输出) 二 读写文件:文件流 文件流: 对文件进行读写操作 头文件:<fstream> 类库: ifstream 对文件输入(读文件 阅读全文
posted @ 2022-05-04 06:19 荒年、 阅读(201) 评论(0) 推荐(0) 编辑
摘要:一 继承与派生用法 注意: 除了构造函数和析构函数,基类的所有数据成员和所有成员函数,都会被派生类继承 在创建派生类对象时,会先调用基类的构造函数,用来初始化从基类继承的数据,再调用自己的构造函数,用来初始化自己定义的数据 派生类的成员函数中,不能直接访问基类的private成员 // main.c 阅读全文
posted @ 2022-05-02 19:21 荒年、 阅读(106) 评论(0) 推荐(0) 编辑
摘要:参考 #include <iostream> #include <sstream> using namespace std; int main() { stringstream ret; ret << "I love you"; cout << ret.str() << endl; //把strin 阅读全文
posted @ 2022-04-30 19:09 荒年、 阅读(76) 评论(0) 推荐(0) 编辑
摘要:一 用法 1.1 插入数据 #include <iostream> #include <vector> #include <string> using namespace std; class Man { public: Man(int age) { this->age = age; } priva 阅读全文
posted @ 2022-04-30 17:00 荒年、 阅读(48) 评论(0) 推荐(0) 编辑
摘要:一 组合 具体组合方式: 1)被组合的对象直接使用成员对象。(常用) 2)使用指针表示被组合的对象,在构造函数中,创建被组合的对象;在析构函数中,释放 被组合的对象。 1.1 被组合的对象直接使用成员对象 需求: 构建一个计算机类,一台计算机,由 CPU 芯片,硬盘,内存等组成。 CPU 芯片也使用 阅读全文
posted @ 2022-04-29 15:51 荒年、 阅读(138) 评论(0) 推荐(0) 编辑
摘要:__FUNCTION__获取函数名 void test() { cout << __FUNCTION__ << endl; } int main() { test(); return 0; } 阅读全文
posted @ 2022-04-29 14:04 荒年、 阅读(24) 评论(0) 推荐(0) 编辑
摘要:一 const数据成员 const 数据成员的初始化方式: 使用类内初始值(C++11 支持) 使用构造函数的初始化列表 (如果同时使用这两种方式,以初始化列表中的值为最终初始化结果) 注意: 不能在构造函数或其他成员函数内,对 const 成员赋值! #include <iostream> #in 阅读全文
posted @ 2022-04-29 04:20 荒年、 阅读(87) 评论(0) 推荐(0) 编辑
摘要:类的静态数据成员: 对于非 const 的类静态成员,只能在类的实现文件中初始化。 const 类静态成员,可以在类内设置初始值,也可以在类的实现文件中设置初始值。(但是不能同时在这两个地方初始化,只能初始化 1 次) 静态成员函数: 可以直接通过类来访问,也可以通过对象来访问 在类的静态成员函数中 阅读全文
posted @ 2022-04-28 23:26 荒年、 阅读(106) 评论(0) 推荐(0) 编辑
摘要:一 构造函数特点 1)自动调用(在创建新对象时,自动调用) 2)构造函数的函数名,和类名相同 3)构造函数没有返回类型 4)可以有多个构造函数(即函数重载形式) 二 构造函数的种类 默认构造函数 自定义的构造函数 拷贝构造函数 赋值构造函数 2.1 默认构造函数 没有参数的构造函数,称为默认构造函数 阅读全文
posted @ 2022-04-28 19:16 荒年、 阅读(375) 评论(0) 推荐(0) 编辑
摘要:#pragma once //防止整个头文件被包含多次 #ifndef … #define … #endif //防止#ifndef 和#endif 包围的代码包含多次 阅读全文
posted @ 2022-04-23 12:02 荒年、 阅读(347) 评论(0) 推荐(0) 编辑

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