C++
努力成长的tory
这个作者很懒,什么都没留下…
展开
-
引用是否占用内存空间?
反汇编看一下:int main(){ int a = r; int & b = a;}生成可执行文件,反汇编得到:123: file format Mach-O 64-bit x86-64Disassembly of section __TEXT,__text:__text:100000fa0: 55 pushq %rbp100000fa1: 48 89 e5 movq %rsp, %rbp100000fa4: 31 c0 xorl %eax, %eax10000原创 2020-08-24 20:46:54 · 422 阅读 · 0 评论 -
C++初始化对象加括号不加括号的区别
C++创建对象加括号和不加括号的区别1、对于内置对象,比如int,在new的时候加括号会自动初始化,内存置0.2、如果是一个类或者是有构造函数的对象。①类名 对象名; ->默认调用 对象名() 这个构造函数,在栈中存在对象名,在堆中存在实际对象。②类名 对象名(一个以上参数); ->默认调用对应的构造函数,在栈中存在对象名,在堆中存在实际对象。③类名 对象名(); ->不调用任何构造函数,仅在栈内存在对象名,在堆内没有对应实际对象。...转载 2020-08-17 23:26:34 · 1206 阅读 · 0 评论 -
对多态的理解
1、虚函数:定义:前面有virtual关键字的成员函数就是虚函数2、什么是多态?一、将派生类的指针赋给基类指针,则可通过基类指针调用派生类的同名虚函数#include <iostream>using namespace std;class CBase{public: virtual void func(){ cout << "123"<<endl; }};class CDerived:public CBase{publ原创 2020-08-07 21:22:30 · 126 阅读 · 0 评论 -
为什么喜欢把常引用作为函数的参数?
如果采用对象做参数:生成参数需要调用复制构造函数,造成时间和空间上的开销;采用指针做参数:影响代码的阅读性。而采用引用做参数,需要避免值可能被修改的风险,因此使用常引用原创 2020-08-07 16:33:36 · 566 阅读 · 0 评论 -
C++ primer第三章笔记
一、标准库string表示可变长的字符序列1、string对象的初始化使用等号是拷贝初始化,不使用等号是直接初始化。2、string对象操作(1)读写操作:iostream读string对象时,会自动忽略前面的空白,从第一个字符开始读起,直到遇见下一处空白;读入一整行可以用getline,不会忽略中间的空格。(2)size:size返回的是size_type类型,是一个无符号类型。(3)比较运算符:如果两个string对象某些位置不一样,则比较的是第一对相异字符的字典序3、处理字原创 2020-05-23 17:17:07 · 183 阅读 · 0 评论 -
C++ primer 第二章笔记
变量和基本类型原创 2020-05-10 01:31:02 · 188 阅读 · 0 评论