当前位置: 首页 > news >正文

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

标识符(identifier)是C++基本词法单元(即词元token)之一,由字母(letter)数字(digit)下划线(underscore)组成,但是首字符必须为字母或下换线


标识符的用途主要有两种:在声明中和在表达式中

用于声明中的标识符

声明(declaration)中的标识符用于为实体进行命名(name),包括:对象、引用、函数、枚举项、类型、类成员、命名空间、模版、模版特化、参数包(C++11)、goto标签等等。

某些特定标识符有特定含义,不再具备标识符功能:

  • 关键字(keyword)
  • 运算符的替代表示(Alternative Operator Representation)。为了兼容某些键盘缺少特定符号的情况,或者提高代码可读性,C++ 提供了一套可读性更强的替代运算符表示法。例如:使用and表示操作符&&
  • 保留使用的标识符。这些标识符可能被编译器预定义,或者被标准头文件使用,建议用户程序中避免使用此类标识符,否则将会出现编译错误情况。例如:全局命名空间(global namespace)中以下划线开头、包含双下划线、下划线接大写字母等等。

用于表达式中的标识符

如果标识符用于命名变量、函数、枚举项或概念特化(specialization of a concept),那么这个标识符可以当做一个表达式(expression)

此表达式的结果即为标识符所命名的实体,表达式的型(type)与此实体一致。同时,表达式的值类别(value category)(左值、右值等)

http://www.jsqmd.com/news/1071245/

相关文章:

  • Wml最佳实践:在多项目环境中高效管理模块依赖的10个技巧
  • NSGAII算法理解
  • Vue-Audio-Visual性能基准测试:5个可视化组件的渲染效率终极对比分析
  • 解密神经网络:使用tf_cnnvis实现Zeiler-Fergus反卷积可视化
  • HttpMock实战:微服务与第三方API集成测试的声明式模拟方案
  • 零成本本地AI工作流:OpenClaw+Qwen2.5部署与实战
  • 如何在5分钟内掌握Nuklear:终极跨平台GUI开发完全指南
  • MATLAB性能优化实战:从向量化到并行计算的系统调优指南
  • Clawdbot:基于Ollama的本地AI协作协议与轻量级模型工作流
  • CANN/ge LLM-DataDist Python接口参考
  • 如何贡献Awesome Neural Models for Semantic Match:社区参与指南与最佳实践
  • CANN/catlass MXFP4矩阵乘法示例
  • 随机游走:从醉汉模型到PageRank,揭秘随机性中的确定性规律
  • 深入解析MPC885 PowerQUICC:通信处理器的架构、外设与开发实战
  • 通讯协议(串口通信,SPI通信,I2C通信,CAN通信)
  • 列编辑革命:Notepad--如何用垂直思维重塑文本处理效率
  • Bouncy Castle Java性能优化与安全最佳实践:10个关键技巧
  • YOLOv11多光谱目标检测深度解析:3大核心技术挑战与实战解决方案
  • UDS-C与ISO 14229:一文读懂汽车统一诊断服务的实现原理 [特殊字符][特殊字符]
  • NCM加密音频格式解析与转换:从原理到批量处理实战
  • 27种反弹Shell实战指南:从原理到应用场景全面解析
  • 如何利用hongyangWeixinArticles构建企业级Android培训体系
  • DSPy流式处理终极指南:实时响应与状态管理实战教程
  • 从NASA 2001年技术遗产看实时系统、复合材料与深空通信的工程实践
  • 网课学习助手:让在线课程学习更高效的自动化工具
  • 告别浏览器标签混乱:SimplexityAI桌面应用如何让你的AI搜索效率提升300%[特殊字符]
  • 量化模型部署工具llama.cpp
  • 网页界面:简洁的表
  • FreeOpcUa与MQTT集成:构建工业物联网数据网关的终极指南
  • 终极指南:如何用DSPy构建智能金融服务AI系统