随笔分类 -  随笔 / C++

摘要:const const是constant的缩写,意为不变的。在 C++ 中是用来修饰内置类型变量,自定义对象,成员/普通函数,返回值,函数参数。C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用c 阅读全文
posted @ 2024-05-08 23:25 TommyShelbyyyyy 阅读(349) 评论(0) 推荐(1) 编辑
摘要:STL概述 什么是C++标准模板库(STL) 标准模板库STL(Standard Template Library),是C++标准库的一部分,不需要单独安装,只需要#include头文件。 C++对模板(Template)支持得很好,STL就是借助模板把常用的数据结构及其算法都实现了一遍,并且做到了 阅读全文
posted @ 2023-06-15 18:01 TommyShelbyyyyy 阅读(54) 评论(0) 推荐(0) 编辑
摘要:链表的相关操作 #pragma once // 编程的接口(API) // *.h 文件中一般会放:类型的定义,函数的声明,全局变量 #include <stdbool.h> typedef struct node { int val; struct node* next; } Node; type 阅读全文
posted @ 2023-06-01 15:58 TommyShelbyyyyy 阅读(14) 评论(0) 推荐(0) 编辑
摘要:对象生存期和资源管理(RAII) RAII:Resource Acquisition Is Initialization,资源获取即初始化。是C++语言的一种管理资源、避免泄漏的惯用法。C++标准保证任何情况下,已构造的对象最终会销毁,即它的析构函数最终会被调用。简单的说,RAII 的做法是使用一个 阅读全文
posted @ 2023-05-16 09:16 TommyShelbyyyyy 阅读(53) 评论(0) 推荐(0) 编辑
摘要:单例模式 单例模式是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。即:类在内存中只能存在一个示例对象 设计思路: 创建的对象肯定是要存入内存的,也就是用户态的那片空间(栈、堆、读写段、只读段),如果直接将类对象的创建放在类的外面,无论放在哪块区域都是行不通的。故需要强制不能在类外 阅读全文
posted @ 2023-04-29 09:14 TommyShelbyyyyy 阅读(21) 评论(0) 推荐(0) 编辑
摘要:C++学习书单 By 陈皓 如何学好C++? 了解为什么要把C++设计成这样的原因——《C++演化和设计》 初级读物,了解语法等——《C++ Primer》或《C++程序设计语言》 《Effective C++》和《More Effective C++》 学习思考的方法——《C++沉思录》 积累各种 阅读全文
posted @ 2023-04-25 20:53 TommyShelbyyyyy 阅读(26) 评论(0) 推荐(0) 编辑
摘要:STL_序列式容器 所谓序列容器,即以线性排列(类似普通数组的存储方式)来存储某一指定类型(例如 int、double 等)的数据,需要特殊说明的是,该类容器并不会自动对存储的元素按照值的大小进行排序。 序列容器大致包含以下几类容器: array< T,N >(数组容器):表示可以存储 N 个 T 阅读全文
posted @ 2023-04-12 20:27 TommyShelbyyyyy 阅读(39) 评论(0) 推荐(0) 编辑
摘要:vector扩容问题 vector在尾部插入(push_back)时的扩容 void test3() { vector<int> num = {1,2,3,4,5}; cout << "num.size() = " << num.size() << endl; cout << "num.capaci 阅读全文
posted @ 2023-04-12 19:39 TommyShelbyyyyy 阅读(38) 评论(0) 推荐(0) 编辑
摘要:值语义 指目标对象由源对象拷贝生成,且生成后与源对象完全无关,彼此独立存在,改变互不影响,就像int类型互相拷贝一样。C++的内置类型(bool/int/double/char)都是值语义,标准库里的complex<> 、pair<>、vector<>、map<>、string等等类型也都是值语意, 阅读全文
posted @ 2023-04-09 12:49 TommyShelbyyyyy 阅读(28) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> using std::cout; using std::endl; class Data { public: Data(int data = 0) : _data(data) { cout << "Data(int = 0)" << endl; } int g 阅读全文
posted @ 2023-04-05 23:28 TommyShelbyyyyy 阅读(18) 评论(0) 推荐(0) 编辑
摘要:左值与右值 左值和右值有如下3个规则: 左值和右值都是表达式。 左值是对象定位器,理论上左值指示指示一个对象。 右值是一个临时值,其他位置无法访问这个值,通常情况下在语句执行完成后右值就被丢弃。 http://c.biancheng.net/view/281.html 左值:可以进行取地址的称为左值 阅读全文
posted @ 2023-04-05 17:56 TommyShelbyyyyy 阅读(129) 评论(0) 推荐(0) 编辑
摘要:多态 虚函数 定义 在成员函数前面加上virtual关键字的函数,称为虚函数。 重定义(重写)的要求 基类与派生类中函数名要相同 函数的参数列表也要相同(参数的个数、类型、顺序) 函数的返回类型一致 小结:基类与派生类中的同名虚函数,除了函数体可以不一样之外,其他的全部都要保持一致。(函数名,函数返 阅读全文
posted @ 2023-04-05 09:25 TommyShelbyyyyy 阅读(33) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> /* #pragma pack(4) */ using std::cout; using std::endl; //1 4 2 1 struct x { char a; int b; short c; char d; }MyStructX;//12 struc 阅读全文
posted @ 2023-03-25 18:56 TommyShelbyyyyy 阅读(14) 评论(0) 推荐(0) 编辑
摘要:初步用C++实现单例模式,暂未考虑线程安全问题 #include <stdio.h> #include <iostream> using std::cout; using std::cin; using std::endl; // 单例模式的设计需求:一个类只能有一个对象 // 思路:创建的对象肯定 阅读全文
posted @ 2023-03-25 18:06 TommyShelbyyyyy 阅读(14) 评论(0) 推荐(0) 编辑
摘要:易混淆的几个概念 常量指针与指针常量 int value = 0; int num = 1; // 1.当const位于 * 左边时,称为常量指针 const int* p1 = &value; int const *p2 = &value; *p1 = 10; // error 不能改变指针所指变 阅读全文
posted @ 2023-03-21 20:35 TommyShelbyyyyy 阅读(63) 评论(0) 推荐(0) 编辑

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