上一页 1 ··· 3 4 5 6 7 8 9 10 下一页
摘要: 一般来说,C++中return 所返回的对象有三类: 值 引用 指针 当返回指针或引用时要注意绝对不能是指向栈空间的指针或者引用,否则可能出现野指针; 返回对象时也要注意效率问题。 阅读全文
posted @ 2022-01-12 01:11 Kisen 阅读(67) 评论(0) 推荐(0)
摘要: C++种拷贝分为深拷贝和浅拷贝。 深拷贝本质上拷贝了指针和资源;浅拷贝本质上只拷贝了指针。 因此,需要注意的是,若拷贝构造函数或析构函数时必须使用深拷贝而不是浅拷贝,否则可能会导致对同一份资源进行多次构造或者析构,引发未知错误程序崩溃。 阅读全文
posted @ 2022-01-12 00:52 Kisen 阅读(40) 评论(0) 推荐(0)
摘要: C++中模板作为一种机制,是泛型编程的实质,进而也是容器实现的思想原理。 C++中当前标准中存在的容器有7种: vector, list, deque set, map, multiset, multimap 阅读全文
posted @ 2022-01-12 00:46 Kisen 阅读(127) 评论(0) 推荐(0)
摘要: 标答: 函数重载时,要通过函数签名对函数进行区分。 所谓函数签名,是由以下两个部分组成的: 函数名 函数参数的个数和类型 在重载的函数中,由于函数名相同,因此要区分函数就要从参数方面入手,从函数传递参数的个数和类型上去判断究竟是哪个函数被调用了。 注意,C/C++是可以忽略函数返回值的,因此,不能从 阅读全文
posted @ 2022-01-12 00:34 Kisen 阅读(1374) 评论(0) 推荐(0)
摘要: 何时使用static修饰的局部变量? 当要求变量受到上一次运算后的影响时,使用static修饰局部变量即可。 举个栗子: #include <iostream> using namespace std; int add(int n){ static int i = 0; i += n; return 阅读全文
posted @ 2022-01-11 22:08 Kisen 阅读(37) 评论(0) 推荐(0)
摘要: 当类A中无任何成员变量或成员函数时,sizeof(A)=1。 为啥? 因为若为零,则声明一个class A[10]对象数组,但是每一个对象占用空间为0,则无法进行区分。 阅读全文
posted @ 2022-01-11 21:58 Kisen 阅读(60) 评论(0) 推荐(0)
摘要: 目前只遇到过三个: #include <iostream> using namespace std; int add(int n){ static int i = 0; i += n; return i; } int main(void) { if(__cplusplus){ cout << "c+ 阅读全文
posted @ 2022-01-11 21:55 Kisen 阅读(72) 评论(0) 推荐(0)
摘要: virtual是隐性继承的,因此当父类写了virtual函数,子类进行重写时virtual可写可不写推荐写全。 其他类似virtual的具有隐性继承能力的还有: 阅读全文
posted @ 2022-01-11 21:32 Kisen 阅读(50) 评论(0) 推荐(0)
摘要: debug:调试 release:发布 这是谷歌翻译,但在build阶段这两者具体区别是什么捏? debug,会附加很多程序不相关或相关度不高的信息,编译产生的可执行文件大小也偏大一些; release是debug的“瘦身版”,简化了附加信息,大大减少了编译时间,同时产生的可执行文件也相对小一些。 阅读全文
posted @ 2022-01-11 21:26 Kisen 阅读(33) 评论(0) 推荐(0)
摘要: C++const修饰四大作用 阻止一个变量被改变,即”只读“; 函数声明中对形参添加const修饰,表明作为外部输入量无法被函数内部改变; 类的成员函数若被指定为const,则表明它是一个常函数,此成员函数自身无法修改对象类中的成员数据; 类的成员函数的返回值若被指定为const,则可以使得这个返回 阅读全文
posted @ 2022-01-11 21:19 Kisen 阅读(49) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页