随笔分类 -  c++

摘要:今天在写一个单元测试的时候出现了如下编译错误: 以前用gtest为了测试业务代码里的private函数和变量,一直是在单元测试代码通过 define private public这样的trick达到测试业务代码的private变量的目的.怎么现在就不行了呢? 现在用的gcc版本是8.3 以前用的gc 阅读全文
posted @ 2019-11-06 10:11 core! 阅读(1606) 评论(0) 推荐(0) 编辑
摘要:ubuntu 16.04 自带gcc 5.4 支持c++11 ubuntu 18.04 自带gcc 7.3 支持c++14 查看编译器支持: "c++11" "c++14" "c++17" c++11 feature nullptr/constexpr enum class auto/decltyp 阅读全文
posted @ 2019-09-07 20:55 core! 阅读(478) 评论(0) 推荐(0) 编辑
摘要:并非如普通操作符一样在class内部定义一个函数做重载,而是通过一个代理类. 阅读全文
posted @ 2019-08-31 21:59 core! 阅读(568) 评论(0) 推荐(0) 编辑
摘要:此前一直没能系统完整地学过编译原理,只有很粗浅的理解,虽然其实对工作里的任务也没啥影响,但总觉得缺了一大块知识,加上对所谓程序员三大浪漫(编译器,操作系统,图形学)的向往,所以最近跟着网易云课堂推出的计算机专业课程来学习编译原理.无奈生性懒惰,常常下班之后觉得累了,打打游戏啊看看视频啊,拖延症就犯了... 阅读全文
posted @ 2014-12-15 22:06 core! 阅读(973) 评论(0) 推荐(0) 编辑
摘要:VC下Debug和Release区别最近写代码过程中,发现 Debug 下运行正常,Release 下就会出现问题,百思不得其解,而Release 下又无法进行调试,于是只能采用printf方式逐步定位到问题所在处,才发现原来是给定的一个数组未初始化,导致后面处理异常。网上查找了些资料,在这 罗列汇... 阅读全文
posted @ 2014-10-09 21:28 core! 阅读(400) 评论(0) 推荐(0) 编辑
摘要:以前我一直以为类内部的成员函数的参数相当于隐含了一个this指针.比如class A{int f();}我一直认为f的类型是int (*f)(A*),直到最近写一个回调函数的时候才发现原先的理解一直是有误的看如下代码:#include class A{public: int f() { retur... 阅读全文
posted @ 2014-09-17 20:59 core! 阅读(225) 评论(0) 推荐(0) 编辑
摘要:map在STL中的定义template , class Alloc = alloc>第一个参数Key是关键字类型第二个参数T是值类型第三个参数Compare是比较函数(仿函数)第四个参数是内存配置对象map内部存储机制实际是以红黑树为基础,红黑树在插入节点时,必须依照大小比对之后在一个合适的位置上执... 阅读全文
posted @ 2014-08-20 21:37 core! 阅读(1523) 评论(0) 推荐(0) 编辑
摘要:1.安装TortoiseSVN2.新建一个文件夹,比如F:\SvnProjectsCfg3.在F:\SvnProjectsCfg新建一个文件夹project1,右键该文件夹选择“create repository here”,那么关于project1的 svn版本信息就都在这个目录(F:\SvnPr... 阅读全文
posted @ 2014-08-09 11:49 core! 阅读(428) 评论(0) 推荐(0) 编辑
摘要:今天突然想到基类子类含有同名变量的时候,编译器是怎么区分谁是谁的呢,于是写了段代码测了下. 1 #include "stdio.h" 2 3 class Base 4 { 5 public: 6 Base():m(1) 7 { 8 9 }10 public:11 ... 阅读全文
posted @ 2014-07-30 15:41 core! 阅读(246) 评论(0) 推荐(0) 编辑
摘要:static可以用来修饰变量,包括函数的局部变量,类的成员变量.可以用来修饰函数,包括类的成员函数,普通函数.今天就只说说static修饰类之外的函数的情况.假设你写了一个head.h,一个a.cpp,一个b.cpp,head.h中定义了一个函数f()(注意:是定义不是声明,就是说你把f()的实现直... 阅读全文
posted @ 2014-07-15 15:04 core! 阅读(225) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示