c++使用笔记
wohuiluanshuo
这个作者很懒,什么都没留下…
展开
-
const_iterator, iterator和const iterator的区别
const_iterator指迭代器所指向的容器内的元素不可以改变,对容器内的元素只有读的权限,但是对于指针自身是可以改变的,它相当于const char *,即一个指向常量字符的指针,指针可以变,但是字符却不能变iterator和const_iterator相反,迭代器所指向的容器内的元素可以改变,比如调用std::vector::erase函数时,必须要用iterator,因为要删除该元素原创 2016-01-21 11:32:18 · 331 阅读 · 0 评论 -
函数的输入参数引用为什么要加const
右值只能被 const 类型的 reference 所指向。当右值作为传入参数时可以不报错原创 2016-01-20 15:55:22 · 1819 阅读 · 0 评论 -
Eigen使用vector容器出错
对eigen中的固定大小的类使用STL容器的时候,如果直接使用就会出错,比如std::mapstd::vector固定大小(fixed-size)的类是指在编译过程中就已经分配好内存空间的类,为了提高运算速度,对于SSE或者AltiVec指令集,向量化必须要求向量是以16字节即128bit对齐的方式分配内存空间,所以针对这个问题,容器需要使用eigen自己定义的内存分配器,即ali原创 2016-01-25 11:36:02 · 5216 阅读 · 1 评论 -
multimap的用法
multimap a; // !a.insert(pair(1,11));a.insert(pair(1,12));a.insert(pair(1,13));a.insert(pair(2,21));a.insert(pair(2,22));a.insert(pair(3,31));a.insert(pair(3,32));multimap::iterator p_map;pair::iter转载 2016-03-02 21:43:49 · 382 阅读 · 0 评论 -
c++11 auto
在遍历容器时需要用到iterator,std::map> map;for(auto it = begin(map); it != end(map); ++it) {}可以用auto遍历mapfor (auto &kv : myMap) { count<<kv.first<<" has value "<<kv.second<<endl;}原创 2016-04-21 16:38:25 · 741 阅读 · 0 评论 -
非静态成员的sizeof
在c++98编译器下,不能对非静态成员的sizeof,而在c++11中可以原创 2016-04-22 15:20:08 · 334 阅读 · 0 评论