C++
fengxuewei123
这个作者很懒,什么都没留下…
展开
-
设计模式-创建型-1-简单工厂模式
【代码】设计模式-创建型-1-简单工厂模式。原创 2023-03-05 16:45:19 · 69 阅读 · 0 评论 -
C++ 智能指针
shared_ptr // 创建空的智能指针;内部的智能计数器为0,而不是1 std::shared_ptr<int> p1; std::shared_ptr<int> p2(nullptr); // 创建的时候,指明其指向 std::shared_ptr<int> p3(new int(10)); std::shared_ptr<int> p4 = std::make_shared<int>(10); // 调用拷贝构造函数进行赋值 std:原创 2022-04-13 01:02:02 · 504 阅读 · 1 评论 -
C++内存分配规则
#include <iostream> #include <string.h> using namespace std; // 程序的内存地址的划分 // 1. 操作系统位数不同,地址划分也会存在一定的差别。但是有一些核心区域是固定的 // 内存区域划分: // 保留区:0开始,C库函数(不能变动) // 代码区: 一个程序执行的时候,会按照次序依次从代码区调用程序运行(也是不可修改的) // 全局变量区: 包括两个部分:.data (非0值)、.原创 2021-07-05 19:12:49 · 188 阅读 · 0 评论 -
C++: 多线程pthread编程
源文件 #include <iostream> // 必须的头文件是 #include <pthread.h> #include <unistd.h> using namespace std; #define NUM_THREADS 5 // 线程的运行函数 void* say_hello(void* args) { cout << "Hello w3cschool!" << endl; } int main() { //原创 2020-09-05 21:54:57 · 343 阅读 · 0 评论 -
C++: 预处理器总结学习
#define 预处理 函数宏: #define MIN(a,b) (((a)<(b)) ? a : b) 条件编译 # 和 ## 运算符 # 和 ## 运算符 #include <iostream> using namespace std; // #x 中#运算符会把 replacement-text 令牌转换为用引号引起来的字符串。 #define MKSTR( x ) #x int main () { cout << MKSTR(HELLO C++) &l.原创 2020-09-05 21:37:14 · 144 阅读 · 0 评论 -
g++: 编译过程
为了能更好的说明意思, 下面的源文件使用define_main.cpp为例… g++ define_main.cpp该过程包含了 编译 链接 1. 预处理(无关代码的清除): 头文件的引用, 宏的替换, 注释的消除 生成一个.i文件(输出预处理后的文件,linux下以.i为后缀名) g++ -E define_main.cpp > define_main.i 2. 将预处理后的文件转换成汇编语言, 生成.s文件 g++ -S define_main.cpp > define_main.s原创 2020-09-05 21:20:07 · 831 阅读 · 0 评论 -
C++: 动态内存总结学习
栈: 函数内部声明的全部变量占用栈内存 堆: 程序中没有使用到的内存, 用于程序动态内存的分配 很多时候,您无法提前预知需要多少内存来存储某个定义变量中的特定信息,所需内存的大小需要在运行时才能确定。 在 C++ 中,您可以使用特殊的运算符为给定类型的变量在运行时分配堆内的内存,这会返回所分配的空间地址。这种运算符即 new 运算符。 如果您不需要动态分配内存,可以使用 delete 运算符,删除之前由 new 运算符分配的内存。 new 运算符 为任意类型来分配内存, 如果自由存储区已被用完,可能无.原创 2020-09-05 20:56:23 · 96 阅读 · 0 评论 -
C++: cerr 和 cout
今天遇到C++的两个输出IO流, 很疑惑, 二者有什么区别… 从网上找了一些资料, 故总结出来该博客, 和大神们一起交流学习! 抛出问题 #include <iostream> using namespace std; int main() { cout << "cout" << endl; cerr << "cerr" << endl; return 0; } 将上面代码进行编译并执行 fengxuewei@fengxu原创 2020-09-05 20:31:55 · 315 阅读 · 0 评论 -
C++ 程序注释
@file Example.h * @brief 对文件的简述 * Details. ...原创 2020-02-20 21:23:36 · 724 阅读 · 0 评论 -
C++: static
1. 加了static的全局变量和函数, 代表该 变量或函数 只能在当前文件中使用, 在别的文件中不具有可见性, 对其他源文件进行了隐藏; 相反没有加的时候, 在其他文件中是可见的 2. 静态成员和静态成员函数: 属于类, 不属于某一个特定对象 3. 保持变量内容的持久: 在程序一开始的时候就被初始化, 但是也是唯一一次的初始化. 4. 存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也...原创 2020-02-17 09:09:06 · 78 阅读 · 0 评论