03 2023 档案

摘要:1.C语言中的类型转换 C语言和C++都是强类型语言,如果赋值运算符左右两侧变量的类型不同,或形参与实参的类型不匹配,或返回值类型与接收返回值的变量类型不一致,那么就需要进行类型转换。 C语言中有两种形式的类型转换,分别是隐式类型转换和显式类型转换: ●隐式类型转换:编译器在编译阶段自动进行,能转就 阅读全文
posted @ 2023-03-29 21:56 CodeMagicianT 阅读(54) 评论(0) 推荐(0) 编辑
摘要:1.sizeof运算符 ●sizeof运算符返回一条表达式或者一个类型名字所占的字节数,sizeof运算符满足右结合律,其所得的值是一个是size_t类型的常量表达式。 ●size_t是一种机器相关的无符号类型,它被设计的足够大以便能表示内存中任意对象的大小。 运算符的运算对象有两种形式: size 阅读全文
posted @ 2023-03-29 19:30 CodeMagicianT 阅读(34) 评论(0) 推荐(0) 编辑
摘要:算术运算符 对大多数运算符来说,布尔类型的运算对象将被提升为int类型。 当作用于算术类型的对象时,算术运算符+、一、*、/的含义分别是加法、减法、乘法和除法。整数相除结果还是整数,也就是说,如果商含有小数部分,直接弃除: int ival1 = 21/6;//ival1是3,结果进行了删节,余数被 阅读全文
posted @ 2023-03-29 19:29 CodeMagicianT 阅读(132) 评论(0) 推荐(0) 编辑
摘要:| 优先级 | 运算符 | 结合律 | 助记 | | | | | | | 1 | :: | 从左至右 | 作用域 | | 2 | a++、a--、 type()、type{}、 a()、a[]、 .、-> | 从左至右 | 后缀自增减、函数风格转型、函数调用、下标、成员访问 | | 3 | !、~、 阅读全文
posted @ 2023-03-29 15:47 CodeMagicianT 阅读(43) 评论(0) 推荐(0) 编辑
摘要:除了vector之外,标准库还定义了其他几种容器。所有标准库容器都可以使用迭代器,但是其中只有少数几种才同时支持下标运算符。严格来说,string对象不属于容器类型,但是string支持很多与容器类型类似的操作。vector支持下标运算符,这点和string一样:string支持迭代器,这也和vec 阅读全文
posted @ 2023-03-24 16:01 CodeMagicianT 阅读(55) 评论(0) 推荐(0) 编辑
摘要:# 72.STL中的vector ## 1.vector概述 vector是最常用的容器之一,功能十分强大,可以储存、管理各种类型的数据。在很多情况下可以用来代替功能比较局限的普通数组,因为我们知道,普通数组只能实现一对一的映射而不能实现一对多的映射,vector就是专门为了解决这个问题而诞生的。v 阅读全文
posted @ 2023-03-23 21:53 CodeMagicianT 阅读(45) 评论(0) 推荐(0) 编辑
摘要:# 71.标准库类型string 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个泛型类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较 阅读全文
posted @ 2023-03-22 22:59 CodeMagicianT 阅读(93) 评论(0) 推荐(0) 编辑
摘要:1.using声明(引入单个名称) using声明是将命名空间中某个名字单独引入到当前作用域。这使得我们在当前作用域下可以直接使用该名字而无需使用作用域限定符::。 using std::string; string s = "123"; using声明可以改变派生类对父类成员的访问控制。 clas 阅读全文
posted @ 2023-03-22 19:56 CodeMagicianT 阅读(179) 评论(0) 推荐(0) 编辑
摘要:1.类型别名 随着程序越来越复杂,程序中用到的类型也越来越复杂,这种复杂性体现在两个方面。一是一些类型难于“ 拼写 “,它们的名字既难记又容易写错,还无法明确体现其真实目的和含义。 二是有时候根本搞不清到底需要的类型是什么,程序员不得不回过头去从程序的上下文中寻求帮助。 1.1类型别名 类型别名(t 阅读全文
posted @ 2023-03-19 18:35 CodeMagicianT 阅读(39) 评论(0) 推荐(0) 编辑
摘要:编写程序过程中,我们有时不希望改变某个变量的值。此时就可以使用关键字 **const** 对变量的类型加以限定。 ***初始化和const*** 因为const对象一旦创建后其值就不能再改变,所以const对象必须初始化。一如既往,初始值可以是任意复杂的表达式: ```C++ const int i 阅读全文
posted @ 2023-03-16 22:20 CodeMagicianT 阅读(158) 评论(0) 推荐(0) 编辑
摘要:1.流的概念和流类库的结构 程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。 C++输入输出包含以下三个方面的内容: 对系统指定的标准设备的输入和输出。即从键盘输入数据,输出到显示器屏幕。这种输入输出称为标准的输入输出,简称标准I/O。 以外存磁盘文件为对象进 阅读全文
posted @ 2023-03-16 16:22 CodeMagicianT 阅读(105) 评论(0) 推荐(0) 编辑
摘要:1.变量定义 术语:何为对象? C++程序员们在很多场合都会使用对象(object)这个名词。通常情况下,对象是指一块能存储数据并具有某种类型的内存空间。一些人仅在与类有关的场景下才使用“对象”这个词。另一些人则已把命名的对象和未命名的对象区分开来,他们把命名了的对象叫做变量。还有一些人把对象和值区 阅读全文
posted @ 2023-03-16 16:17 CodeMagicianT 阅读(65) 评论(0) 推荐(0) 编辑
摘要:# 1.右值引用 为了支持移动操作,新标准引入了一种新的引用类型 右值引用(rvalue reference)。所谓右值引用就是必须绑定到右值的引用。我们通过&&而不是&来获得右值引用。如我们将要看到的,右值引用有一个重要的性质 只能绑定到一个将要销毁的对象。因此,我们可以自由地将一个右值引用的资源 阅读全文
posted @ 2023-03-16 16:16 CodeMagicianT 阅读(81) 评论(0) 推荐(0) 编辑
摘要:# 1.异常基本概念 Bjarne Stroustrup说:提供异常的基本目的就是为了处理上面的问题。基本思想是:让一个函数在发现了自己无法处理的错误时抛出(throw)一个异常,然后它的(直接或者间接)调用者能够处理这个问题。也就是《C++ primer》中说的:将问题检测和问题处理相分离。 一种 阅读全文
posted @ 2023-03-11 19:08 CodeMagicianT 阅读(36) 评论(0) 推荐(0) 编辑
摘要:# 1.显式类型转换 类型转换(cast)是将一种数据类型转换成另一种数据类型。例如,如果将一个整型值赋给一个浮点类型的变量,编译器会暗地里将其转换成浮点类型。 转换是非常有用的,但是它也会带来一些问题,比如在转换指针时,我们很可能将其转换成一个比它更大的类型,但这可能会破坏其他的数据。 应该小心类 阅读全文
posted @ 2023-03-10 21:24 CodeMagicianT 阅读(47) 评论(0) 推荐(0) 编辑
摘要:程序清单12.1 strngbad.h #pragma once //strngbad.h -- 有缺陷的string类定义 #include <iostream> #ifndef STRNGBAD_H_ #define STRNGBAD_H_ class StringBad { private: 阅读全文
posted @ 2023-03-09 22:44 CodeMagicianT 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1.类模板 1.1类模板基本概念 函数模板,实际上是建立一个通用函数,其函数类型和形参类型不具体制定,用一个虚拟的类型来代表。这个通用函数就成为函数模板 ●类模板用于实现类所需数据的类型参数化 template<class NameType, class AgeType> class Person 阅读全文
posted @ 2023-03-09 22:42 CodeMagicianT 阅读(30) 评论(0) 推荐(0) 编辑

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