每日一得
Fisheep1024
这个作者很懒,什么都没留下…
展开
-
重载运算符tips
1.成员里的operator比成员外的少一目!!! 如这一题:一开始在operator*()里加参数,肯定报错! using namespace std; // 在此处补充你的代码 template class CMyistream_iterator{ public: T input; CMyistream_iterator(istream & i) {原创 2017-12-19 20:46:23 · 125 阅读 · 0 评论 -
2017年12月12日 qsort函数理解、多态的实验
1.qsort函数void qsort(void *base,size_t num,size_t width,int compare(const void * a,const void * b))第一个参数填数组名第二个填要排序的个数第三个填每个参数的大小第四个注意类型转换,a和b应该强制类型转换为指向数组元素类型的指针类型如:数组为CShape * PShape[100]原创 2017-12-12 17:38:25 · 163 阅读 · 0 评论 -
Effective 5
1.一个空类并不是不占内存,因为编译器能够区分不同对象,所以也占空间,一般占一个字节。 2.赋值运算符要返回自身*this,是因为考虑到可以出现连等的情况,比如obj1 = obj2 = obj3,另外,这里都使用了自身类的引用,即A &,这里的引用是必须要加的,这是因为: (1) 引用修饰形参时,可以避免实参对形参的拷贝,一方面可以节省空间和时间资源,更为重要的是若实参对形参拷贝了,又会调用一原创 2017-12-21 18:05:59 · 145 阅读 · 0 评论 -
Coursera 多态编程作业思考
第一题第三题都是考察概念,看一下他们的区别:编程题 #1下面程序的输出结果是:A::FunC::Do请填空:1234567891011121314151617181920212223242526272829303132#include using namespace std;class A { private: int nVal; public:原创 2017-12-13 19:41:37 · 278 阅读 · 0 评论 -
每日一得
1.string类想添加一个字符,应该重载的是string &insert(int p0, int n, char c);//在p0处插入n个字符c 所以可以写成s.insert(n,1,char c);不然会报错; 附: string的成员函数insert有以下多种重载:string &insert(int p0, const char *s);——在p0位置插入字符串sstring &in原创 2017-12-22 08:13:57 · 509 阅读 · 0 评论 -
unique函数使用技巧与问题
今天第一次使用unique函数,出现了一些问题。 首先就是发现并没有真正的删除,因为vector的长度没有改变,百度了下知道了解决办法,原来unique只是将重复的塞到了容器后面,并且返回的是不重复的最后一个元素的迭代器,所以运用下面的技巧就可以输出想要的数列:如 int a[] = { 8,7,8,10,4,2,1 }; vector<int> v(a, a+7);原创 2017-12-16 08:43:06 · 3059 阅读 · 0 评论 -
传递数组fun(int a [])和fun(int *a )的区别
答案就是没区别!!今天在写排序算法时,看到函数都是以void InsertionSort(T Array[], int N)形式写的,就觉得很奇怪,函数想要修改实参不是应该通过值传递或者指针传递吗? 为什么这里也可以修改主函数里的实参?通过查阅资料与实验,发现上文的写法其实不是值传递,而是指针传递,可以当做fun(int *a )理解:截选程序:void InsertionSo原创 2017-12-26 16:44:54 · 4453 阅读 · 0 评论