摘要:std::queue<T> _dataQueue; void clear() { std::lock_guard<std::mutex> lock(_mutex); std::queue<T> empty; _dataQueue.swap(empty); }
阅读全文
随笔分类 - C/C++基础
摘要:std::queue<T> _dataQueue; void clear() { std::lock_guard<std::mutex> lock(_mutex); std::queue<T> empty; _dataQueue.swap(empty); }
阅读全文
摘要:#include <iostream> #include <iomanip> // std::put_time #include <sstream> using namespace std; using namespace std::chrono; std::string Timestamp::lo
阅读全文
摘要:C++ 条件变量(condition_variable) 先贴一个condition_variable的讲解:https://en.cppreference.com/w/cpp/thread/condition_variable,很详细也很全面,但是是英文的,劝退了一部分英语不好的人(也包括我),但
阅读全文
摘要:// 二维不连续 int* *p1 = new int*[num]; for(int k = 0; k < num; k++) { p1[k] = new int[3]; } //delete 也要做循环 int (*p)[3] = new int[num][3]; // 二维连续 delete[]
阅读全文
摘要:知乎 : c++经验之谈一:RAII原理介绍 页内 百度百科 :RAII 页内 c++经验之谈一:RAII原理介绍 1.什么是RAII RAII(Resource Acquisition Is Initialization)是由c++之父Bjarne Stroustrup提出的,中文翻译为资源获取即
阅读全文
摘要:作者:cpoint 出处:http://www.cnblogs.com/cpoint/ C函数调用的栈结构 可变参数函数的实现与函数调用的栈结构密切相关,正常情况下C的函数参数入栈规则为__stdcall, 它是从右到左的,即函数中的最右边的参数最先入栈。例如,对于函数: void fun(int
阅读全文
摘要:libxxx.so- text relocations问题的终极解决方案
阅读全文
摘要:如何使用新的glibc来编译自己的程序 https://blog.csdn.net/xqhrs232/article/details/80046729 glibc memcpy函数的一些研究 https://blog.csdn.net/xiao_huocai/article/details/1031
阅读全文
摘要:1.Linux“线程” 进程与线程之间是有区别的,不过linux内核只提供了轻量进程的支持,未实现线程模型。Linux是一种“多进程单线程”的操作系统。Linux本身只有进程的概念,而其所谓的“线程”本质上在内核里仍然是进程。 大家知道,进程是资源分配的单位,同一进程中的多个线程共享该进程的资源(如
阅读全文
摘要:转载自 stderr和stdout详细解说 1.stdout行缓冲遇\n输出,stderr立即Flush输出以 2.重定向输出不包含stderr 今天又查了一下fprintf,其中对第一个参数stderr特别感兴趣。 int fprintf(FILE *stream,char *format,[ar
阅读全文
摘要:1、指针常量——指针类型的常量(int *const p) 本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。 2、常量指针——指向“常量”的指针(const int *p, int c
阅读全文
摘要:1.默认构造 由于编译器会尽可能的为所有的警告和错误做出解释。但也因此导致了部分情况下的过度解析。 书中给的例子是编译器由于过度解析,使用了类型转换运算符的解析代码,导致隐藏了真正的错误。  这里断点只执行到printf,其中构造函数为getInter局部的Integer inter(10);触发
阅读全文
摘要:主要讨论的是C++早期编译器在处理对类相关成员在内存中的布局情况 1.加上封装后的布局成本 首先说明C++在增加封装特性后,简单的类类型并不比C/C++结构体类型带来的布局成本高。下面作简单说明: 静态成员和非内联函数(c++ 内联函数不能成为虚函数)均不属于对象,如果不存在虚函数则只有普通成员变量
阅读全文
摘要:首先明确数组作为形参传递时,如果非引用类型形参,本质上传递的实参为数组的首地址,即会发生退化。 首先明确数组作为形参传递时,如果非引用类型形参,本质上传递的实参为数组的首地址,即会发生退化。 引用式传递时则是传递的是数组整体。 引用式传递时则是传递的是数组整体。 并且此处比较大小,始终是比较的地址大
阅读全文
摘要:比较pfunc1,pfunc2,pfunc3是否指向同一个函数? pfunc1 == pfunc3 ? pFunc作为函数指针类型,其本身是一个指针,在内存中实际占有空间(一般32位系统指针4字节) 另一种比较方法为 0 == memcmp(pfunc1, pfunc3) int a = 0; in
阅读全文
|