自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 《学习C++》基本概念之整数字面量

C++整数字面量语法及类型规则摘要:整数字面量支持十进制、八进制(0开头)、十六进制(0x/0X开头)和二进制(0b/0B开头,C++14起),各进制有严格的数字范围限制。后缀(u/U、l/L、ll/LL等)与进制共同决定字面量类型:无后缀十进制可能为int/long/long long,其他进制可能为unsigned类型;带u/U为无符号类型,带l/L为long类型,C++11起支持long long类型。C++23新增z/Z后缀表示size_t类型。类型选择采用"第一个匹配值范围的类型&quo

2026-06-23 18:01:39 198

原创 《学习C++》基本概念之字面量

本文介绍了C++中的字面量(Literal)概念,它是表示源代码中常数数值的词元,可分为多种类型:整数字面量(支持多种进制表示)、浮点字面量、字符字面量(包括多种字符类型)、字符串字面量(对应不同字符数组)、布尔字面量(true/false)、指针字面量(仅nullptr)以及C++11新增的用户自定义字面量(通过后缀生成自定义类型对象)。这些字面量在语法解析中均作为基础表达式使用。

2026-06-23 17:54:10 296

原创 《学习C++》基本概念之作用域

摘要:C++中的作用域(scope)规定了变量和声明的可见范围。主要作用域类型包括:全局作用域(整个程序)、块作用域(由语句或异常处理器引入的局部变量)、函数参数作用域、命名空间作用域、类作用域、枚举作用域和模板参数作用域。每个声明都绑定到其直接作用域,通过作用域嵌套形成层次结构(父作用域、外层作用域)。不同作用域具有特定的包含规则,如类作用域包含成员声明,命名空间作用域包含命名空间内声明等。作用域机制是C++名称查找和访问控制的基础。

2025-08-01 11:57:24 1401

原创 《学习C++》基本概念之对象

C++中对象(object)是一种实体(entity),可以被创建、销毁、引用、访问和操纵。以下实体不是对象:一个C++对象具备以下属性:对象可以被显式创建(explicitly created),也可以被隐式创建(implicitly created)。可以通过以下几种方式显式创建对象:对象被其显式创建唯一定义(uniquely defined)。隐式生命周期类型(implicit-lifetime type)的对象可以被隐式创建。这种情况下,可以通过某些底层操作(如内存分配或字节拷贝)自动触发对象构造机

2025-07-30 18:19:00 545

原创 《学习C++》基本概念之类型(定义、分类、命名)

C++类型系统可分为基本类型和复合类型两大类。基本类型包括void、算术类型(整数/浮点)等;复合类型涵盖引用、指针、数组、类等。类型为底层比特序列赋予语义,限定允许的操作。特殊分类包括:对象类型(非函数/引用)、标量类型(存储单一值)、标准布局类型(兼容C内存布局)等。类型可通过类声明、typedef等方式命名,type-id用于引用无名类型。类型系统确保了内存安全性和操作合法性。

2025-07-29 14:48:29 1544

原创 《学习C++》基本概念之关键字

摘要:C++关键字是保留的特殊标识符,具有特定功能且不可重定义。C++11后属性中的关键字可作为标识符使用。关键字按功能分为类型相关、声明修饰、面向对象、流程控制、内存管理等类别,包括基本类型定义、类型转换、访问控制、异常处理、泛型编程等。C++20新增模块化、协程等关键字。部分关键字支持替代运算符表示,如and/or替代&&/||,增强代码可读性。关键字构成了C++语言的核心语法基础。

2025-07-28 15:15:24 537

原创 《学习C++》基本概念之名称与名称查找

摘要:名称(name)是程序中引用实体的标识方式,由声明引入。名称包含多种形式,包括标识符、重载运算符、用户定义转换函数等。标识符是名称的主要形式,但并非所有名称都是标识符。当编译器遇到未知名称时,会通过名称查找过程将其与声明关联(模板依赖名称除外)。名称的链接性决定了同一名称在不同编译单元中可能引用的实体。

2025-07-25 09:56:56 852

原创 《学习C++》基本概念之标识符

摘要:C++标识符是由字母、数字和下划线组成的词法单元,首字符必须为字母或下划线。标识符用于声明实体(如变量、函数等)或在表达式中引用实体。特定标识符如关键字和运算符替代表示具有特殊含义。表达式中的标识符结果与其命名的实体类型和值类别一致,包括重载运算符等特殊名称。限定标识符通过作用域解析运算符修饰。类成员标识符在特定条件下可能隐式转换为this->E形式。使用标识符时需注意保留标识符的规则,避免与预定义标识符冲突。(149字)

2025-07-25 09:05:49 552

原创 《学习C++》基本概念之注释

C++注释分为C风格(/* */)和C++风格(//)两种,在词法分析阶段会被移除并替换为空格。注释不会被编译器处理,但特殊格式的注释可被外部工具解析生成文档。C风格用于多行注释,C++风格用于单行注释。需要注意的是,注释在预处理阶段前就被移除,因此宏不能生成注释,且头文件中未闭合的C风格注释不会影响包含该头文件的源文件。

2025-07-25 09:04:59 406

原创 《学习C++》基本概念之预定义宏

本文介绍了C++中的预定义宏及其应用场景。__cplusplus宏用于判断当前C++版本,支持跨版本兼容代码编写;FILE、__LINE__等宏可辅助调试;__STDC_HOSTED__宏区分托管/独立环境。通过条件编译,这些宏能够实现代码的跨版本、跨语言(C/C++)以及跨环境(操作系统/嵌入式)兼容。文章展示了如何利用这些宏编写适用于不同场景的代码,包括C/C++接口兼容、版本适配和运行环境适配等实际应用示例。

2025-07-25 09:03:55 279

原创 《学习C++》基本概念之预处理器

摘要:C++预处理器在编译前执行,通过预处理指令对源代码进行转换。主要功能包括:1)条件编译(#if/#else等)实现选择性代码编译;2)宏定义(#define)支持文本替换和参数化宏,C++20新增__VA_OPT__处理变参;3)文件包含(#include)引入其他文件;4)诊断(#error/#warning)输出编译信息。预处理指令以#开头,支持宏参数拼接(##)和字符串化(#)操作,C++17新增__has_include检测头文件存在性。(148字)

2025-07-25 09:02:21 375

原创 《学习C++》基本概念之翻译过程

摘要:C++程序的翻译过程分为多个阶段:1) 源文件转换为字符序列,处理编码和换行符;2) 字符序列经词法分析生成预处理词元序列;3) 预处理阶段处理指令和字面量,生成词元序列;4) 编译阶段进行语法语义分析,生成翻译单元,包括模板实例化和链接过程。整个过程涉及字符处理、词法分析、预处理、编译和链接等步骤,最终形成可执行程序。

2025-07-24 18:03:15 539

原创 《学习C++》之基本概念

本文介绍了C++程序从源文件到可执行代码的转换过程及基本语言要素。C++源文件通过翻译转化为机器可执行代码,这个过程中涉及词法和语法元素。词法元素包括标识符、关键字、字面量、运算符、标点符号和注释;语法元素则涵盖声明、实体、定义、函数、名、类型和变量等核心概念。文章重点解释了单一定义规则、名称查找、作用域、链接性等关键机制,并说明了C++标准中引入的现代特性。这些内容构成了C++语言的基本框架,是学习C++编程的基础知识。

2025-07-24 17:55:10 1445

原创 《学习C++》之简介

C++是一种高效、通用的多范式编程语言,由Bjarne Stroustrup于1983年开发。其核心优势包括零成本抽象、直接内存控制和编译期优化,使其在性能关键领域接近C语言效率。C++适用于系统级到应用级的广泛开发场景,从操作系统到游戏引擎、科学计算等。作为静态类型语言,它在编译时进行严格类型检查,提高代码可靠性。同时支持过程式、面向对象、泛型等多种编程范式,通过编译器生成高效机器码,兼具底层控制能力和高级抽象特性。

2025-07-24 17:53:34 481

原创 《学习C++》

本系列文章系统总结C++编程核心知识点,涵盖语言基础和标准库两大模块。语言基础部分包括基本概念、表达式、函数、类、模板等核心语法;标准库部分则详细讲解容器、算法、并发支持等实用组件。文章采用模块化结构,适合作为C++学习参考或知识回顾,内容从基础语法到高级特性全面覆盖,为开发者提供完整的C++编程指南。

2025-07-24 17:51:39 137

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除