现代C++
wjfdsklfdkfksd
这个作者很懒,什么都没留下…
展开
-
C++11引入的原始字符串字面量与普通字符串字面量的区别
在C++中,R"(C:\temp\my_file.ext)"和"C:\temp\my_file.ext"之间有一个重要的区别。因此,R"(C:\temp\my_file.ext)"和"C:\temp\my_file.ext"的主要区别在于,前者是。在处理文件路径时,使用原始字符串字面量可以避免处理转义字符的麻烦。原始字符串字面量,不会对反斜杠进行转义。原创 2023-11-15 18:06:55 · 276 阅读 · 0 评论 -
可变参数模板
3.C++17 中增加了变参模板展开的支持。1. sizeof...计算参数个数。原创 2023-11-06 15:06:45 · 223 阅读 · 0 评论 -
C++17对if/switch的增强
C++17之前不允许在if/switch语句中定义一个临时变量。但在C++17之后可以了。原创 2023-11-02 13:45:04 · 213 阅读 · 0 评论 -
可变参数模板
是,它可以接受零个或者多个类型的模板实参。叫作,它出现在函数的形参列表中,可以接受零个或者多个函数实参。而,通常简称包展开。它将形参包展开为零个或者多个模式的列表,这个过程称为解包。原创 2023-05-19 10:22:32 · 102 阅读 · 0 评论 -
左值和右值
在C++中所谓的左值一般是指一个指向的具有名称的值(),它有一个相对稳定的内存地址,并且有一段。而右值则是的(不具名对象),它的生命周期很短,通常是的。基于这一特征,我们可以用取地址符&来判断左值和右值,能取到内存地址的值为左值,否则为右值。原创 2023-05-18 22:38:26 · 322 阅读 · 0 评论 -
decltype
改为成功。原创 2023-05-18 20:11:46 · 52 阅读 · 0 评论 -
auto(C++11~C++17)
C++11标准赋予了auto的含义:声明变量时根据初始化表达式自动推断该变量的类型、声明函数时函数返回值的占位符。原创 2023-05-18 19:02:42 · 112 阅读 · 0 评论 -
内联命名空间
内联命名空间能够把空间内函数和类型导出到父命名空间中,这样即使不指定子命名空间也可以使用其空间内的函数和类型了.示例代码中只能有一个,否则编译时会造成二义性问题,编译器不知道使用哪个内联命名空间的foo函数。原创 2023-05-18 17:59:46 · 95 阅读 · 0 评论 -
都2023年了, 你还傻傻的分不清utf-8,utf-16,utf-32和unicode?
UTF-32是一种定长编码方式,使用4个字节表示一个Unicode字符,每个字符使用相同的存储空间,因此UTF-32编码方式在处理Unicode字符时比较方便,但是在存储空间上比UTF-8和UTF-16都浪费。在计算机中,所有的信息都是以二进制的形式存储的,而字符集就是将二进制数值映射到具体的字符上的一种方式。总体来说,UTF-8适合在存储空间有限的情况下使用,UTF-16适合在处理Unicode字符时比较方便的情况下使用,UTF-32适合在需要高效处理Unicode字符的情况下使用。原创 2023-05-18 17:30:13 · 670 阅读 · 0 评论