首页 > 编程语言 >c++-2023-05-05

c++-2023-05-05

时间:2023-05-05 18:33:56浏览次数:40  
标签:05 对象 子类 元素 c++ 数组 2023 拷贝

1、什么是标识符?变量、常量。为什么给标识符命名时要求开头不能使用数字?假如定义成int 1 = 1,将造成混乱。

2、为什么要有数据类型?为了方便分配内存。

3、在vs的c++编译器中,如果定义单精度变量时其初始值后没有加f,系统会默认为double类型。

4、c++中字符串的定义string str="hello",引入了新关键字string,和c中定义字符串char *str="hello"或者char str[]="hello"都不同。

5、在《46 数组-一维数组-冒泡排序》视频中,外层for循环应该理解成减少的、不需要参加排序的元素个数,内层for循环理解为每次大循环中需要两两比较的次数,这样外层循环构成因子i和内层循环的结合才有缘由。

6、指针和c++的引用不同在于引用不需要再单独开辟内存空间。

7、在c++编译器中结构体关键字struct可以省略不写,switch...case...语句中如果case语句存在多行,需要另加{}括起来才能保证编译器不报错。

8、由于值传递过程使用的是拷贝的副本,如果需要传递一个数组,该数组的每个元素都是一个结构体(这时结构体中可能会包含不同类型的数据),继续使用值传递的话就需要消耗大量内存,所以引出了地址传递存在的必要性。

9、重载后置++不能使用引用来接收,所以重载后置++时使用的形参使用了值传递。

10、对比在《27 类和对象-对象特性-深拷贝与浅拷贝》的14:30中也是深拷贝但是这里并没有出现释放检查而是在析构函数时按正规的释放m_Height,而在《42 类和对象-C++运算符重载-赋值运算符重载》的12:00中,为什么会有释放m_Age指针的操作?首先,在《27》中深拷贝解决的是对象初始化过程出现的问题,这时还没有对象,而在《42》中是已经存在有对象,深拷贝需要解决的是两对象间赋值过程出现的问题,其次,翻到《42》的06:24可以看到将要被赋值的p2对象它的m_Age指针已经初始化过并指向了20所在内存空间,所以后面要进行深拷贝之前需要先释放这个指向20的内存空间。

11、在《58 类和对象-多态-虚析构和纯虚析构》的08:00地方出现子类析构函数没有执行的现象其根本原因实际上是编译早绑定特性所造成的,只是视频里没有明确指出,所以在父类析构函数没有加virtual关键字之前是不会调用到子类析构函数的,因此动态运行过程中子类有使用new开辟新空间都得不到释放。

 12、在《60 类和对象-多态-案例3-电脑组装具体实现》的13:30处释放指针之所以用的是普通析构函数是因为computer类为普通类,既没有被任何子类所继承也没有作为子类去继承任何父类,并且也没有出现和《58》一样子类内使用new开辟新空间(因为computer根本就没有用子类),所以不需要采用虚析构。

13、在《19 职工管理系统-按照职工编号进行排序功能实现》的06:00选择排序和《46 数组-一维数组-冒泡排序》不同的是,选择排序是认定一个起始元素,这个元素保持不动,用该元素后面的所有元素与之比较,都比较完一遍过后再选定后面一个元素作为起始元素,再用该元素后的所有元素与之比较;而冒泡排序则是拿第一个元素和第二个元素比较,比完之后,拿刚比完得到的第二个元素和第三个元素比较,比完之后,再拿刚比完得到的第三个元素和第四个元素比较,依次类推。

标签:05,对象,子类,元素,c++,数组,2023,拷贝
From: https://www.cnblogs.com/weizhunie/p/17357029.html

相关文章

  • C++ - VS2019配置pthread线程库
    说明在VS里用MS编译器不能直接调用pthread库,需要先自行下载该库:http://sourceware.org/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip解压后用的到的只有Pre-built.2文件夹下的文件。 配置如下图分别配置三大项:包含目录-->...pthreads-w32-2-9-1-release\Pre-built.......
  • [Leetcode] 0705. 设计哈希集合
    705.设计哈希集合EnglishVersion题目描述不使用任何内建的哈希表库设计一个哈希集合(HashSet)。实现MyHashSet类:voidadd(key)向哈希集合中插入值key。boolcontains(key)返回哈希集合中是否存在这个值key。voidremove(key)将给定值key从哈希集合中删除。如果......
  • C++ 命名空间
    C++命名空间假设这样一种情况,当一个班上有两个名叫Zara的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。同样的情况也出现在C++应用程序中。例如,您可能会写一个名为xyz()的函数,在另一个可用的库中也存在......
  • C++ 循环
     有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式::loop:循......
  • 1688|Taobao|JD京东api接口获取商品详情C++演示案例
    ​ 商品详情页的作用:介绍产品信息、给出购买理由、提升信任感、提出售后保障。1、介绍产品信息:产品信息表做得越完整,越能让用户更细致了解产品,也减少了售前客服咨询的工作量。2、给出购买理由:在用户初步了解了产品信息后,商家就需要展示商品优势,给出核心卖点。接下来小编会展......
  • C++统计代码运行时间
    本来想自己写的,一看github上面都有就不再重复造轮子了。github上的项目如下:StopWatch纯标准库实现:使用std::chrono::high_resolution_clock,其实就是std::chrono::steady_clock的别名。StopWatch类似C#的实现:和C#的StopWatch比较像,在Windows下使用的是QueryPerformanceCounter......
  • C++的友元类
    C++中的友元类是一种特殊的类,它允许一个类授权另一个类或函数访问其私有成员。友元类的使用可以提供更好的封装和安全性,同时也可以增强代码的灵活性和可读性。声明友元类在C++中,声明一个类为另一个类的友元类需要在该类中进行声明。例如,如果类MyClass1希望将类MyClass2声......
  • 2023年母亲节是哪一天?用手机提醒自己
    进入2023年的公历5月份,告别五一小长假之后,我们又要迎来一个非常有意义的节日了,这就是母亲节。那么今年的母亲节是哪一天呢?每年的母亲节都是公历5月份的第二个星期日,所以今年的母亲节是5月14日。为了表达对母亲的感恩之情,世界各地的人都会在这一天向母亲送上鲜花和礼物,例如漂亮的......
  • 【C++之类构造函数和析构函数】
    【C++之类构造函数和析构函数】类的构造函数:1.类的构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行。2.构造函数的名称与类的名称是完全相同的,并且不会返回任何类型,也不会返回void。3.构造函数可用于为某些成员变量设置初始值。类的析构函数:1.类的析构函......
  • 【剑指 Offer】 05. 替换空格
    【题目】请实现一个函数,把字符串s中的每个空格替换成"%20"。 示例1:输入:s="Wearehappy."输出:"We%20are%20happy." 限制:0<=s的长度<=10000来源:力扣(LeetCode)链接:https://leetcode.cn/problems/ti-huan-kong-ge-lcof【思路】用StringBuilder,遍历数组,遇到空格就追加%20......