- 博客(3)
- 收藏
- 关注
原创 decltype和declval
是一个类型推导关键字,它用于在编译时确定一个表达式或类型的类型。可以用它来获取一个变量、函数返回类型、或者任何表达式的类型,decltype`还可以用于模板编程,以推导模板参数的类型。的主要用途是在不实际创建对象的情况下确定类型的某些属性,这在模板元编程中特别有用,因为有时可能需要知道一个类型的某些属性,但又不想或不能创建该类型的实例。结合使用,以在不需要实际创建对象的情况下推导类型的值属性(例如,推导函数指针或成员函数指针的类型)。在C++中都是用于类型推导的工具,但它们的使用方式和目的有所不同。
2024-04-03 15:41:53
283
1
原创 c++顶层const与底层const的区别
是一个常量,形容const int*a 或者 int const *a;是一个常量,形如int *const b;对于a来说,a可变,而*a不可变。对于b来说,b不可变,而*b可变。
2024-03-29 22:00:24
264
1
原创 C++中NULL与nullptr的区别
在代码中对函数func进行可重载,参数分别是void*类型和int类型,运行结果却与我们所期望的结果是不相符的。用NULL来代替空指针,但是在将NULL输入到函数中时,它却选择了int形参这个函数版本,这就是用NULL代替空指针在C++程序中的二义性。在C++的编程中,我们可以看到NULL和nullptr两种关键字,其实nullptr是C++11版本中新加入的,它的出现是为了解决NULL表示空指针在C++中具有二义性的问题。在C程序中,NULL是在头文件cstdlib中定义的预处理变量,它的值就是0。
2023-04-01 11:41:48
344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人