随笔分类 -  C++学习笔记

摘要:# 106.C++中NULL和nullptr区别 ## 1.NULL是什么 在[《NULL,0,'\0',"0","\0"的区别》](http://mp.weixin.qq.com/s?__biz=MzI2OTA3NTk3Ng==&mid=2649284887&idx=1&sn=e97526b0e2 阅读全文
posted @ 2023-07-15 12:29 CodeMagicianT 阅读(38) 评论(0) 推荐(0) 编辑
摘要:# 105.C++初始化 > C++中变量的初始化有很多种方式,如:**默认初始化**,**值初始化**,**直接初始化**,**拷贝初始化**,**列表初始化**。 ## 1.默认初始化 默认初始化是指定义变量时 没有指定初值时 进行的初始化操作。 默认初始化变量的值与变量的类型与变量定义的位置有 阅读全文
posted @ 2023-07-15 10:57 CodeMagicianT 阅读(82) 评论(0) 推荐(0) 编辑
摘要:# 104.字符串函数:strlen函数,strcpy函数,strcat函数,strcmp函数 ## 1.字符串函数strlen ### (1)strlen函数 strlen函数返回的是在字符串中’\0’前面出现的字符的个数 ### (2)strlen的使用 #### a.代码 ```C++ #in 阅读全文
posted @ 2023-07-15 10:56 CodeMagicianT 阅读(44) 评论(0) 推荐(0) 编辑
摘要:# 1.重载new和delete 尽管我们说能够 “重载new和delete",但是实际上重载这两个运算符与重载其他运算符的过程大不相同。要想真正掌握重载new和delete的方法,首先要对new表达式和delete表达式的工作机理有更多了解。 当我们使用一条new表达式时: ```C++ // n 阅读全文
posted @ 2023-07-04 13:00 CodeMagicianT 阅读(162) 评论(0) 推荐(0) 编辑
摘要:==☀警告== ``` volatile的确切含义与机器有关,只能通过阅读编译器文档来理解。要想让使用了volatile的程序在移植到新机器或新编译器后仍然有效,通常需要对该程序进行某些改变。 ``` 直接处理硬件的程序常常包含这样的数据元素,它们的值由程序直接控制之外的过程控制。例如,程序可能包含 阅读全文
posted @ 2023-07-04 13:00 CodeMagicianT 阅读(54) 评论(0) 推荐(0) 编辑
摘要:在C++中,final是一个关键字,用于修饰类的成员变量和成员函数。 1.final修饰成员变量:当一个类中的成员变量被声明为final时,它就变成了常量,即它的值不能再被修改。final修饰的成员变量必须在类定义中进行初始化,且只能初始化一次。 假设我们有一个名为Person的类,其中包含一个成员 阅读全文
posted @ 2023-07-04 12:50 CodeMagicianT 阅读(40) 评论(0) 推荐(0) 编辑
摘要:# 1.静态联编与动态联编 C++动态多态性是通过虚函数来实现的,虚函数允许子类(派生类)重新定义父类(基类)成员函数,而子类(派生类)重新定义父类(基类)虚函数的做法称为覆盖(override),或者称为重写。对于特定的函数进行动态绑定,C++要求在基类中声明这个函数的时候使用virtual 关键 阅读全文
posted @ 2023-06-05 13:28 CodeMagicianT 阅读(27) 评论(0) 推荐(0) 编辑
摘要:complex_test.cpp ```C++ #pragma once #include #include "complex.h" using namespace std; ostream& operator re += r.re; ths->im += r.im; return *ths; } 阅读全文
posted @ 2023-05-27 18:50 CodeMagicianT 阅读(12) 评论(0) 推荐(0) 编辑
摘要:# 1.概述 一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是**”条件编译“。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。** 条件编译命令最常见的形式为: ```C++ #i 阅读全文
posted @ 2023-05-25 22:08 CodeMagicianT 阅读(194) 评论(0) 推荐(0) 编辑
摘要:关联容器支持高效的关键字查找和访问。两个主要的关联容器(associative-container)类型是map和set。map中的元素是一些关键字-值(key-value)对:关键字起到索引的作用,值则表示与索引相关联的数据。set中每个元素只包含一个关键字:set支持高效的关键字查询操作 检查一 阅读全文
posted @ 2023-05-19 22:26 CodeMagicianT 阅读(57) 评论(0) 推荐(0) 编辑
摘要:顺序容器只定义了很少的操作:在多数情况下,我们可以添加和删除元素、访问首尾元素、确定容器是否为空以及获得指向首元素或尾元素之后位置的迭代器。 用户可能还希望做其他很多有用的操作:查找特定元素、替换或删除一个特定值、重排元素顺序等。 标准库并未给每个容器都定义成员函数来实现这些操作,而是定义了一组泛型 阅读全文
posted @ 2023-05-18 00:47 CodeMagicianT 阅读(78) 评论(0) 推荐(0) 编辑
摘要:1. STL概论 长久以来,软件界一直希望建立一种可重复利用的东西,以及一种得以制造出”可重复运用的东西”的方法,让程序员的心血不止于随时间的迁移,人事异动而烟消云散,从函数(functions),类别(classes),函数库(function libraries),类别库(class libra 阅读全文
posted @ 2023-05-15 13:08 CodeMagicianT 阅读(26) 评论(0) 推荐(0) 编辑
摘要:为了支持快速随机访问,vector将元素连续存储 每个元素紧挨着前一个元素存储。通常情况下,我们不必关心一个标准库类型是如何实现的,而只需关心它如何使用。然而,对于vector和string,其部分实现渗透到了接口中。 假定容器中元素是连续存储的,且容器的大小是可变的,考虑向vector或strin 阅读全文
posted @ 2023-05-14 22:53 CodeMagicianT 阅读(25) 评论(0) 推荐(0) 编辑
摘要:顺序容器和关联容器的不同之处在于两者组织元素的方式。这些不同之处直接关系到了元素如何存储、访问、添加以及删除。本部分将介绍顺序容器所特有的操作。 1.向顺序容器添加元素 除array外,所有标准库容器都提供灵活的内存管理。在运行时可以动态添加或删除元素来改变容器大小。表9.5列出了向顺序容器(非ar 阅读全文
posted @ 2023-05-14 22:05 CodeMagicianT 阅读(27) 评论(0) 推荐(0) 编辑
摘要:容器类型上的操作形成了一种层次: ●某些操作是所有容器类型都提供的(参见表9.2,第295页)。 ●另外一些操作仅针对顺序容器(参见表9.3,第299页)、关联容器(参见表11.7,第388页)或无序容器(参见表11.8,第395页)。 ●还有一些操作只适用于一小部分容器。 一般来说,每个容器都定义 阅读全文
posted @ 2023-05-11 14:28 CodeMagicianT 阅读(43) 评论(0) 推荐(0) 编辑
摘要:# 110.C++顺序容器 一个容器就是一些特定类型对象的集合。顺序容器(sequential container)为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。与之相对的,有序和无序关联容器, 则根据关键字的值来存储元素。 标准库还提供了三 阅读全文
posted @ 2023-05-11 13:37 CodeMagicianT 阅读(55) 评论(0) 推荐(0) 编辑
摘要:为了支持不同种类的IO处理操作,在istream和ostream之外,标准库还定义了其他一些IO类型。 下表列出了这些类型,分别定义在三个独立的头文件中:iostream定义了用于读写流的基本类型,fstream定义了读写 命名文件的类型,sstream定义了读写内存string对象的类型。 表8. 阅读全文
posted @ 2023-05-11 10:16 CodeMagicianT 阅读(66) 评论(0) 推荐(0) 编辑
摘要:类可以定义自己的数据类型 通过定义新的类型来反映待解决问题中的各种概念 数据抽象能帮助我们将 对象的具体实现 与 对象所能执行的操作 分离 开来 原文链接:https://blog.csdn.net/weixin_48524215/article/details/115525133 1.设计 Sal 阅读全文
posted @ 2023-05-10 14:20 CodeMagicianT 阅读(42) 评论(0) 推荐(0) 编辑
摘要:函数指针指向的是函数而非对象。和其他指针一样,函数指针指向某种特定类型。函数的类型由它的返回类型和形参类型共同决定,与函数名无关。例如: ```C++ //比较两个string对象的长度 bool lengthCompare(const string&, const string&); ``` 该函 阅读全文
posted @ 2023-05-09 00:25 CodeMagicianT 阅读(67) 评论(0) 推荐(0) 编辑
摘要:1.默认实参 某些函数有这样一种形参,在函数的很多次调用中它们都被赋予一个相同的值,此时,我们把这个反复出现的值称为函数的默认实参(default argument)调用含有默认实参的函数时,可以包含该实参,也可以省略该实参。 例如,我们使用string对象表示窗口的内容。 一般情况下,我们希望该窗 阅读全文
posted @ 2023-05-08 20:54 CodeMagicianT 阅读(52) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示