
C++
uestcjerry
这个作者很懒,什么都没留下…
展开
-
C++学习建议
1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词汇所迷惑——他们都是集成开转载 2014-11-09 10:58:18 · 371 阅读 · 0 评论 -
c++深拷贝与浅拷贝
类的聚集:类的成员中含有某个类的指针,就叫做类的聚集。对象中只存放数据的地址,数据可以是数组或者对象等。浅拷贝:对象之间的元素一一复制,这就是拷贝构造函数的本能。当数据成员是指针时,就会出现问题!深拷贝:被复制的对象数据成员是指针类型时,不会复制指针成员本身,而是将指针所指向的对象进行复制!浅拷贝demo#include <iostream>using namespace std;class B原创 2015-09-14 21:07:59 · 469 阅读 · 0 评论 -
Effective c++笔记:03 尽可能使用const
在const和non-const成员函数中避免重复对于‘bitwise-constness‘的问题,mutable是一个解决方法,但是不能解决所有。试想,假设TextBlock类的内部operator[]不仅仅返回一个reference指向某个字符,也执行边界检验,志记访问信息,甚至可能进行数据完整性检验。把所有这些功能同时放入const和non-const operator[]之中,将会导致长度颇原创 2015-09-21 22:05:30 · 515 阅读 · 0 评论 -
istream_iterator ostream_iterator 迭代器和IO
头文件:#include <iterator>istream_iteratorostream_iterator成员函数:如同使用其他iterator一样来使用member function:operator*operator++operator=示范:istream_iterator#include <iterator>#include <iostream>int main(){原创 2016-01-28 14:32:49 · 494 阅读 · 0 评论 -
c++运算符重载
一:一般运算符的重载class A {public: A() { a = 0; b = 0; } A(const int left, const int right) : a(left), b(right) {} ~A() {} //成员函数重载 + - * / A operator+(A &elem) { return A(this->a + elem.a,转载 2016-01-14 12:03:55 · 371 阅读 · 0 评论 -
运算符重载之 []
函数 operator[] 可以用于为类的对象定义下标运算的意义。operator[] 的第二个参数(下标)可以具有任何类型,这就使得我们可以去定义vector ,关联数组(仿写map)。eg: 用运算符重载的方式来进行词频统计,我们仿写一个关联数组:class Assoc {public: Assoc() {} const double& operator[](const st原创 2016-02-19 22:41:31 · 447 阅读 · 0 评论 -
c++11随机数产生器default_random_engine
原因: c/c++老版本的rand()存在一定的问题,在转换rand随机数的范围,类型或者分布时,常常会引入非随机性。定义在<random> 中的随机数库通过一组协作类来解决这类问题:随机数引擎 和 随机数分布类 一个给定的随机数发生器一直会生成相同的随机数序列。一个函数如果定义了局部的随机数发生器,应该将(引擎和分布对象)定义为 static 的。否则每次调用函数都会生成相同的序列。随机数发生器原创 2016-02-25 10:55:37 · 22127 阅读 · 0 评论