摘要:
1.不借助函数库 void fun(int len,...){ int *p=&len;//获取第一个参数的指针 int i=0; p++; for(;i<len;i++){ printf("%d",*p); } } fun(5,2,3,4,5,6);//第一个参数为输入的数值个数 2.借助函数库 阅读全文
摘要:
首先定义类Person 由上,赋值操作已完成,可为什么赋值构造函数还有个返回值 为什么有返回值?(初学者可能不理解b=a为什么会产生返回值) 首先b并不接收返回值(b=a让某些初学者误认为b接受返回值) 其实只要把b=a 看成是 a.operator=(b)就可以了 b=a的返回值就相当于a.ope 阅读全文
摘要:
https://leetcode-cn.com/problems/reverse-linked-list/submissions/ 206 反转链表 错误原因:没有考虑到链表为空以及链表只有一个元素的情况 https://leetcode-cn.com/problems/swap-nodes-in- 阅读全文
摘要:
1.类的内存结构一开始指向的是虚函数表,指向虚函数表的指针为4个字节(32位系统)【类的内存结构最前面的是指向虚函数表的指针】 2.包含标准库文件以及相关命名空间,则系统不允许用户重新定义标准库函数,只能重载! 3. 两种不同位数系统各数据类型字节占用数量表 short int int uint f 阅读全文
摘要:
【effective C++的网页版】 http://www.kuqin.com/effectivec2e/ 内存四区模型 https://www.cnblogs.com/crazyzhang/p/5727822.html 字符串常见操作 https://www.cnblogs.com/crazyz 阅读全文
摘要:
1.函数模板与普通函数的区别: 普通函数可以进行自动类型转化,而函数模板不可以。 举个例子 虽然函数模板可以自动识别类型,但是一旦识别之后,后面的T都必须替换成第一个类型,而且不可以进行强制类型转换。 但是普通函数,虽然指定好了数据类型,但是可以进行强制类型转换 2.类模板和函数模板调用的区别 函数 阅读全文
摘要:
首先,已声明好的类Triangle 再在Triangle.hpp内补全构造函数 以上为准备工作,接下来才是主要内容 一.GCC与VC++都可以编译成功的版本 1.友元函数为重载函数 操作流程: 1) 在模板内添加友元函数声明(记住:因为友元函数也是函数模板,所以需要在函数名后加<T>) 2)定义友元 阅读全文