摘要:
在 C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符。类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数。经过适当重载后,(类型名)对象这个对对象进行强制类型转换的表达式就等价于对象.operator 类型名(),即变成对运算符函数的 阅读全文
摘要:
在C++的类中有些成员变量初始化和一般数据类型的成员变量有所不同。以下测试编译环境为: 测试代码(g++编译通过): 这些特殊类型的成员变量主要有: 对于==1. 引用==和==2. 常量==,成员变量必须通过构造函数的==参数列表==的方式初始化。例如:上述程序中的r 和 d 变量的初始化。 对于 阅读全文
摘要:
总结一下map::erase的正确用法。 首先看一下在循环中使用vector::erase时我习惯的用法: 程序从一个vector中删除值为0的元素,利用了vector::erase函数根据iterator删除某个元素时会返回下一个元素的iterator的性质: http://www.cpluspl 阅读全文
摘要:
github地址:https://github.com/google/protobuf支持多种语言,有多个语言的版本,本文采用的是在centos7下编译源码进行安装。 github上有详细的安装说明:https://github.com/google/protobuf/blob/master/src 阅读全文
摘要:
说明:这部分内容比较基础,主要是分析几个容易混淆的OpenMP函数,加以理解。 (1)并行区域数量的确定: 在这里,先回顾一下OpenMP的parallel并行区域线程数量的确定,对于一个并行区域,有一个team的线程去执行,那么该分配多少个线程去执行呢? OpenMP的遇到parallel指令后创 阅读全文
摘要:
conv_xxx.hpp class convolution { ... ... typedef std::map ConvDtMap; static ConvDtMap conv_dt_map; static ConvDtMap CreateDtMap() { ... 阅读全文