C++ primer 第二章 2.5
typedef char *pstring;
const pstring cstr=0;//此时cstr为指向char的常量指针
const char *cstr=0;//此时cstr为指向char常量的指针
auto一般不保留顶层const,保留底层const,忽略引用。
decltype选择并返回操作数的数据类型,但不计算表达式的值
decltype(f()) sum=x;//sum为f()的返回值的类型。
decltype返回的变量类型包括顶层const和引用。(引用只有在decltype处不代表所指对象的同义词)
有些表达式向decltype返回一个引用类型。
int i=42, *p=&i, &r=i;
decltype(r+0) b;//正确,加法的结果是int, b是一个未初始化的int
decltype(*p) c;//错误,c是int&, 必须初始化。
如果decltype使用的是一个不加括号的变量,则得到的结果是该变量的类型,如果给变量加上一层或多层括号,则编译器会把它当成是一个表达式,变量是一种可以作为赋值语句左值的特殊表达式,这样decltype会得到引用类型。
decltype(i) e;//正确,e是int
decltype((i)) d;//错误,d是int&, 必须初始化。
decltype((variable))的结果永远是引用,而decltype()结果只有当variable本身就是一个引用时才是引用。
分类:
C++ primer
, C++
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人