C++
breakpoints_
这个作者很懒,什么都没留下…
展开
-
jsoncpp输出顺序
最近在做一个NLU相关的项目,需要对json文件进行读取,wins vs2008环境,需要引入第三方库json.h,需要工程导入jsoncpp的静态数据连接库json_vc71_libmtd.lib,详细的教程可以自行百度。在输出的json文件我发现不是按着list添加顺序的,它是按照字母表给排序过的, json内部存储object元素是用map存储的,map的特性就是会对每次in...原创 2019-03-18 20:09:56 · 4930 阅读 · 2 评论 -
LeaveCriticalSection内存死锁问题
某天下午双眼迷离的用vs写着代码,一不小心报了个错,转到了mlock.c文件/**** _unlock - Release multi-thread lock**Purpose:* Note that it is legal for a thread to aquire _EXIT_LOCK1* multiple times.**Entry:* ...原创 2019-07-31 15:13:23 · 993 阅读 · 0 评论 -
C++类中的数据成员初始化问题
首先我们先来看一个简单的类:class Test{public: Test();private: int a; int &b; const int c; static int d; static const int e;};类的数据成员的属性大概包括:普通成员变量,引用成员变量,常成员变量,静态成员变量,静态常成员变量。普...原创 2019-06-27 11:38:22 · 3371 阅读 · 1 评论 -
C++虚函数能不能模板化
虚函数不能模板化 编译器在编译一个类的时候,需要确定这个类的虚函数表的大小。一般来说,如果一个类有N个虚函数,它的虚函数表的大小就是N,如果按字节算的话那么就是4*N。 如果允许一个成员模板函数为虚函数的话,因为我们可以为该成员模板函数实例化出很多不同的版本,也就是可以实例化出很多不同版本的虚函数,那么编译器为了确定类的虚函数表的大小,就必须要知道我们一共为该成...原创 2019-06-27 14:42:13 · 2785 阅读 · 0 评论 -
c++的虚函数如果是private的,该如何实现多态
关于虚函数的回顾: 1) :虚函数的地址存放于虚函数表之中。运行期多态就是通过虚函数和虚函数表实现的。 2):类的对象内部会有指向类内部的虚表地址的指针。通过这个指针调用虚函数。 3):虚函数的调用会被编译器转换为对虚函数表的访问 。当虚函数是public的,这个时候实现多态的方式:class Base {public: virtual...原创 2019-06-27 10:36:25 · 1172 阅读 · 0 评论 -
C++11 std::thread 多线程框架
C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而C++程序的可移植性也得到了有力的保证。并发与并行的区别: 并发指的是两个或者多个独立的活动在同一时间段内发生, 例如在跑步的时候你可能同时在听音乐;在看电脑显示器的同时你的手指在敲击键盘。这时我们称我们大脑并发地处理这些事件,只不过我们大脑的处理是有次重点的:有时...原创 2019-03-12 18:15:31 · 1595 阅读 · 1 评论 -
归并排序 C++递归
自己写的一个简单的版本,保存一下以便以后回顾void merge(int *data, int start, int mid, int end, int *result){ int i, j, k; i = start; j = mid + 1; k = 0; while (i <= mid &...原创 2018-07-13 16:44:14 · 370 阅读 · 1 评论 -
C++实现string类
先来看一下面试经常遇到的问题:实现strcpy函数char *strcpy(char *strDest, const char *strSrc) { if (strDest == NULL || strSrc == NULL) { return NULL; } if (strDest == strSrc) { return strDest; }...原创 2019-03-08 15:29:47 · 747 阅读 · 0 评论 -
c++之超前引用(头文件相互包含)
定义: 超前引用是指一个类型在定义之前就被用来定义变量和声明函数。一般情况下,C/C++要求所有的类型必须在使用前被定义,但是在一些特殊情况下,这种要求无法满足,例如,在类A中类B的对象指针,但是类B中也同时包含类A的对象.类A.h头文件定义如下:#ifndef A_H#define A_Hclass B;class A { int i; B...原创 2019-03-05 15:42:24 · 3296 阅读 · 0 评论 -
类模板的使用~
上一篇文章中是关于实习一个多功能计算器,计算表达式需要用到两个栈,一个存储表达式中的数字,一个存储表达式中的符号,刚刚好前面我也发过有关手动实现栈的文章,于是就想给大家看看手动栈在实际项目中的运用,可不曾想,使用类模板时错误连连,查了很多资料,这里总结一下~类模板的定义可用类模板来定义类,类模板是对象特性更为一般的抽象。简而言之,一个类模板就是一个抽象的类、类模板的一般定义形式为:...原创 2018-06-04 11:52:07 · 6182 阅读 · 0 评论