随笔分类 - C/C++
摘要:使用jsoncpp 静态库出错解决过程 用C++在CLion 中使用 jsoncpp静态库 做解析一个json格式时 出现以下错误: relocation R_X86_64_32 against `.rodata' can not be used when making a shared objec
阅读全文
摘要:使用静态函数impl模式做接口 impl即桥接模式,主要是为了隐藏数据和减少不必要的编译。 普通的impl模式做接口一般是: A类是接口,B类继承A类,是A类的实现,C类,包含A类和B类的头文件,把B类对象指针,转做为基类指针,给使用者。代码示意如下: 但是这样,用了三个类(也有是把第三个类用全局函
阅读全文
摘要:转载请标明处: 作者:微微苏荷 本文地址:关于QImage提取单色通道方法(vector) 近日,用QT和mxnet结合做一个图像识别的demo。遇到需要把图片从QImage转为vector单色分离的格式的要求,用来识别时输入。 经实践,找到3种方法,分享给大家:需要注意的是,QImage的存储顺序
阅读全文
摘要:个人使用C++前置声明记录 恰当的使用前置声明是有好处的。 个人体验好处: 1.减少头文件依赖,加快编译速度。这就不再解释了。 2.对于接口,封装性增加。原因是接口文件文件头依赖减少,就可以隐藏这些依赖的声明。这些头文件可以放到实现文件(cpp)里包含。 使用要求:前置声明的类,是不完整的声明,只能
阅读全文
摘要:本文转载来自《二维数组和二级指针》,感谢分享。 前两天写个程序,传参数的时候想传个二维数组进去,结果悲剧了,函数写成fun (int **p){},原来没有这么写过, 以为这么写也是对的,结果错了,查了些资料,做个总结。 fun (int **p){}这里面的int **p //这里的p不是二维数组
阅读全文
摘要:C/C++中无条件花括号可以形成一个代码块,一个作用域。可以使括号内定义的变量就只在本域(就是这个大括号)内有效,而且不会影响其他域,即使名字相同。 在花括号内,如果变量前面带类型,则相当于新创建一个变量,作用域只在花括号内,变量前面不带类型,会屏蔽掉外层代码块名字相同的变量; 对我来说,可以缓解临
阅读全文
摘要:转载来自:C语言中do...while(0)的妙用,感谢分享。 在linux内核代码中,经常看到do...while(0)的宏,do...while(0)有很多作用,下面举出几个: 1、避免goto语句: 通常,如果一个函数开始要分配一些资源,然后如果在中途遇到错误则要退出函数,当然,退出前要释放资
阅读全文
摘要:变量就是一个地址,同进程内可以直接访问,要做好线程之间的同步就是了。——摘自CSDN 2015-06-18 16:58:10(注:注意变量的生命周期(作用域就可以不在意))
阅读全文