合集-C++

摘要:1、简单定义 左值 (lvalue, locator value) 表示了一个占据内存中某个可识别的位置(也就是一个地址)的对象。 右值是一个不表示内存中某个可识别位置的对象的表达式。 每个类型都有三个对应的 CV-限定类型版本: const 限定 、 volatile 限定 和 const-vol 阅读全文
posted @ 2024-08-03 07:36 NotReferenced 阅读(18) 评论(0) 推荐(0) 编辑
摘要:1、介绍 C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的,跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式). 2、隐式转换 在C++中, 如果的构造函数只有一个参数 阅读全文
posted @ 2024-08-07 07:46 NotReferenced 阅读(16) 评论(0) 推荐(0) 编辑
摘要:1、默认构造函数 形式:没有入参 调用方式:直接定义 声明: Constructor(); 调用: Constructor c; 2、初始化构造函数 形式:有参数列表 调用方式:传参即可 声明: Constructor(int a, int b); 调用: Constructor c(1,2); 3 阅读全文
posted @ 2024-08-08 23:46 NotReferenced 阅读(12) 评论(0) 推荐(0) 编辑
摘要:1、简介 我们之前使用的typeid运算符来查询一个变量的类型,这种类型查询在运行时进行。RTTI机制为每一个类型产生一个type_info类型的数据,而typeid查询返回的变量相应type_info数据,通过name成员函数返回类型的名称。同时在C++11中typeid还提供了hash_code 阅读全文
posted @ 2024-08-09 23:00 NotReferenced 阅读(13) 评论(0) 推荐(0) 编辑
摘要:template <typename T> class remove_reference { public: typedef T type; }; template<typename T> class remove_reference<T&> { public: typedef T type; }; 阅读全文
posted @ 2024-08-09 23:08 NotReferenced 阅读(9) 评论(0) 推荐(0) 编辑
摘要:1、简介 注意:typeid是操作符,不是函数。这点与sizeof类似) 运行时获知变量类型名称,可以使用 typeid(变量).name() 需要注意不是所有编译器都输出”int”、”float”等之类的名称,对于这类的编译器可以这样使用。 int ia = 3; if(typeid(ia) == 阅读全文
posted @ 2024-08-11 17:27 NotReferenced 阅读(11) 评论(0) 推荐(0) 编辑
摘要:对C++中 using关键字的几种用法的总结: 1、using 声明 using 声明 (using declaration) 是将命名空间中单个名字注入到当前作用域的机制,使得在当前作用域下访问另一个作用域下的成员时无需使用限定符 :: // ... { using std::map map<in 阅读全文
posted @ 2024-08-11 18:00 NotReferenced 阅读(20) 评论(0) 推荐(0) 编辑
摘要:1、三者关系 因为【引用折叠】特性,才有了万能引用。 2.【完美转发】的特性是借助【万能引用】以及【forward模板函数】来实现。 2、引用折叠 规则一: 当我们将一个左值传给模板函数的右值引用参数(T&&)时, 编译器推断模板类型参数T为的左值引用类型,例如对于int类型时,推断T为int&. 阅读全文
posted @ 2024-08-12 07:49 NotReferenced 阅读(46) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示