• 2024-07-22learncpp-10 类型转换、类型别名、类型推导
    10类型转换、类型别名、类型推导10.4窄化转换(收缩转换)、列表初始化和constexpr初始化器窄化转换是一种不安全的数值转换:目标类型可能无法保存源类型的所有值以下转换是窄化的:浮点型转换成整型从浮点型转换成等级更低的浮点型(除非被转换的值是constexpr并且在目标类型
  • 2024-07-22learncpp-7 作用域、生存期、链接
    7作用域、生存期、链接用户自定义命名空间和范围解析运算符为了避免命名冲突,在尽可能小的作用域内定义标识符一个命名空间要么在全局作用域内定义,要么在另一个命名空间内定义使用范围解析运算符::可以告诉编译器去指定命名空间查找指定标识符(如果::前没有命名空间则表示全
  • 2024-07-22learncpp-14 类
    14类14.9构造器当类有私有成员时,无法使用聚合初始化构造器是一个特殊的成员函数,它在非聚合类的对象创建后自动调用构造器不会创建对象:编译器在调用构造器之前就为对象分配了内存,然后在未初始化的对象上调用构造函数构造器需要初始化对象的成员,因此不能为constconst对象不
  • 2024-07-22learncpp-12 复合类型:引用和指针
    12复合类型:引用和指针12.1复合数据类型介绍函数也是一种复合数据类型12.2左值和右值表达式除了可以产生值和副作用,还可以计算为对象或函数C++中的所有表达式都有两个属性:类型和值类别表达式的类型就是计算表达式得出的值、对象、函数的类型表达式的类型必须在编译时
  • 2024-07-22learncpp-20 函数
    20函数20.1函数指针函数和变量一样,也是在内存中被分配了一块地址。因此,函数指针就是一个保存函数的内存地址的变量函数也是有类型的,例如foo()这个函数的类型就是返回整数且不带参数intfoo(){return5;}<<操作符不知道如何输出函数指针(因为有无数种可能的函数指针),因
  • 2024-07-22learncpp-21 操作符重载
    21操作符重载21.12重载赋值运算符拷贝构造器和拷贝赋值运算符的作用几乎相同,都是将一个对象复制到另一个对象。但是拷贝构造器初始化新的对象,而赋值运算符替换已有对象的内容如果在拷贝前必须创建一个新对象,则使用拷贝构造器(包括按值传递和按值返回)如果在拷贝前无需创
  • 2024-07-22learncpp-1 C++基础
    1C++基础1.1语句和程序结构语句是一条让计算机执行某个动作的指令,是C++语言中最小的独立计算单元在高级语言(例如C++)中,一条语句可能编译成多条机器指令大多数语句以;结尾声明语句跳转表达式语句复合语句选择语句(条件语句)迭代语句(循环语句)try代码块函
  • 2024-07-22learncpp-2 函数和文件
    2函数和文件2.9命名冲突和命名空间两个(或多个)同名函数(或全局变量)被引入到属于同一程序的不同文件中,这将导致链接器错误。两个(或多个)同名函数(或全局变量)被引入到同一个文件中。这将导致编译器错误。不同的作用域(例如命名空间)中可以有相同的标识符只有声明和定义可以出现
  • 2024-07-02learncpp网站学习笔记
    0.1课程简介教程特点:零基础适用、示例丰富课程结构:第0章介绍c++编程的相关概念及软件;第1章介绍c++基础,后面章节深入研究;每章都有一个主题目标涵盖一般的编程主题:编程风格、常见陷阱、调试、好/坏的编程实践、测试提供大量示例(尽量不在示例中省略内容、引入未解释过的概念