
C/C++
文章平均质量分 80
Kevin__Mei
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
函数指针在全局函数和在类内函数使用的区别
我们要做的是:将一个add函数作为另一个process函数的参数, 并在process函数里调用add;这个我们分别在全局函数中实现和在类中实现,看看两者有什么区别。函数指针先联想下,什么是函数指针和什么时候我们需要用到函数指针?我的第一反应,函数指针,就是指向函数的指针,类比int* p //p是指向int的指针,那么函数指针 它的类型是什么,它应该怎么定义;这时候我们想想什么时候用到函数指针,我的第一反应两个地方:a. dll 动态库加载的时候 b. 回调函数的时候函数指针 它的类型是什么,原创 2021-01-18 22:07:26 · 612 阅读 · 0 评论 -
unordered_map的哈希HASH重载——举例unordered_map与pair联合使用
有些时候,为了图省力,我们没准会这样的调用一个函数unordered_map< pair<int, int>, int > mp;但是很显然的是,这样的写法是会报错的,因为pair还没有HASH键值。error: call to implicitly-deleted default constructor of 'std::__1::hash<std::__1::pair<int, int> >' : _Hash() {}会返回这样转载 2020-11-21 00:13:41 · 755 阅读 · 1 评论 -
c++ foreach 用法,无法修改循环变量的内容
c++ foreach 用法,无法修改循环变量的内容// colomn resize后不会保存,循环执行完毕后mem[i]的size仍为0for (vector<bool> colomn : mem){ colomn.resize(n + 1); for (bool flag : colomn) { flag = false; }}// 这个才能mem[i] resize才能正常for (int i = 0; i < mem.size(); i++){ mem[原创 2020-06-01 09:10:47 · 845 阅读 · 0 评论 -
pugixml使用示例及注意点
一.简介pugixml的官方主页为:http://pugixml.org/pugixml个人觉得目前是C++处理xml里最方便,速度也最快的,在生成xml方面,300个xml文件,pugixml只用6s,对比rapidxml用时60+s,效率高了10倍,很nice;然后它的通用优点,列举下:它很轻量,只有三个文件(pugiconfig.hpp pugixml.cpp pugixml....原创 2020-04-20 09:42:03 · 2072 阅读 · 0 评论 -
rapidxml库生成xml小例子及需注意的问题
结论:rapidxml和pugixml在生成xml方面,我建议使用pugixml,优点很多,不用关心string的生命周期,像函数一样使用添加节点,属性,很方便;而且效率高,个人测试了下生成300个xml文件,pugixml用时6s,rapidxml用时60+s,效率差了10倍如果你工作必须使用rapidxml,或者先换起来麻烦,那么继续往下看,有关写xml需要注意的一些问题rapidxml ...原创 2020-04-18 19:12:39 · 1001 阅读 · 0 评论 -
STL resverce详解及char数组初始化方式区别
char str1[] = "helloworld"; // 末尾自动添加\0char str2[] = { 'h', 'e', 'l', 'l', 'o' }; // 末尾没有\0std::cout << strlen(str1) << std::endl; // 10 strlen 不记录\0的大小,但会寻找\0作为结尾std::cout << s...原创 2019-05-07 00:36:00 · 533 阅读 · 0 评论 -
const, volatile, mutable, static 关键字详解
const修饰普通变量和指针1. const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value值不可变。 例如:const int nValue; //nValue是co...转载 2019-04-30 09:53:29 · 597 阅读 · 0 评论 -
string 实现字符串分割
都说C++处理字符串,文本很乏力,有了STL还是方便很多;不熟悉的还得现查,知识还是得多积累,多分享,先从记录一个字符串分隔开始1.string初始化string str(“kevin is a handsome boy~”);// str1初始化为 从str的下标0开始,往后5个单位的子串string str1(str, 0, 5); // str1 = kevin// str2初始...原创 2019-04-23 20:31:21 · 3501 阅读 · 0 评论 -
智能指针学习(auto_ptr,unique_ptr,shared_ptr,weak_ptr)
智能指针智能指针需要具备三要素a.RAII b.具备指针的功能 c.能够拷贝和赋值使用智能指针的前提条件:利用当栈对象的生存周期结束时,会自动调用析构函数,来进行对对象的销毁;问题:智能指针是在栈上创建还是在堆上创建?答:智能指针本身在栈上,它指向的对象再堆上创建;进一个函数体内,调用构造函数new出来对象,出函数,自动调用析构delete对象设计智能指针的类模板需要解决的问...转载 2019-04-30 11:20:33 · 285 阅读 · 0 评论