随笔分类 -  C++

摘要:转自WestwindrestC++正则表达式 <regex> 一 简介 概括而言,使用正则表达式处理字符串的流程包括: 用正则表达式定义要匹配的字符串的规则, 然后对目标字符串进行匹配, 最后对匹配到的结果进行操作。 C++ 的 regex 库提供了用于表示正则表达式和匹配结果的基本类型,以及使用这 阅读全文
posted @ 2020-07-27 22:01 Chen沉尘 阅读(7172) 评论(0) 推荐(0)
摘要:转自http://c.biancheng.net/view/1367.html 枚举数据类型是一种由程序员定义的数据类型,和我们使用class自定义的类型类似。只是其合法值是与它们关联的一组命名整数常量。 之所以被称为枚举类型,就是因为命名常量是作为数据类型定义的一部分而枚举或列出的,以下是枚举类型 阅读全文
posted @ 2020-07-10 12:16 Chen沉尘 阅读(348) 评论(0) 推荐(0)
摘要:转自https://blog.csdn.net/qian_youyou/article/details/79149718 在C++有两种字符串流,也称为数组I/O流,一种在<strstream>中定义,另一种在<sstream>中定义。它们实现的东西基本一样。 strstream strstream 阅读全文
posted @ 2020-07-09 09:55 Chen沉尘 阅读(1245) 评论(0) 推荐(0)
摘要:std::move和std::forward是C++11中新增的标准库函数,分别用于实现移动语义和完美转发。 下面让我们分析一下这两个函数在gcc4.6中的具体实现。 预备知识 引用折叠规则 T& + & => T&T&& + & => T&T& + && => T&T&& + && => T&& 阅读全文
posted @ 2020-07-04 17:37 Chen沉尘 阅读(1128) 评论(0) 推荐(0)
摘要:转自yhjokerVisual Studio中头文件stdafx.h的作用 在 Visual Studio 中(笔者版本 Visual Studio 2017),新生成的C++项目文件的的头文件夹下会默认有头文件stdafx.h,而源文件夹下则默认有源文件stdafx.cpp,手动将这些文件删除后, 阅读全文
posted @ 2020-06-19 12:44 Chen沉尘 阅读(1924) 评论(0) 推荐(0)
摘要:转自alice4C++中指针和引用的区别比较 指针 指针是编程语言中的一个对象,它的值是一个地址直接指向内存中另一个地方。 引用 引用就是某一变量(对象)的一个别名,对引用的操作与对变量直接操作完全一样。 指针和引用的区别 1.指针是一个实体,而引用仅是个别名; 2.引用必须被初始化且必须从一而终( 阅读全文
posted @ 2020-06-12 09:08 Chen沉尘 阅读(284) 评论(0) 推荐(0)
摘要:转自绿色冰点C++11 std::ref使用场景 C++本身有引用(&),为什么C++11又引入了std::ref(或者std::cref)?使用std::ref可以在模板传参的时候传入引用,否则只能传值。主要是考虑函数式编程(如std::bind)在使用时,是对参数直接拷贝,而不是引用。如下例子: 阅读全文
posted @ 2020-06-07 11:11 Chen沉尘 阅读(1980) 评论(0) 推荐(0)
摘要:C 标准库的assert.h头文件提供了一个名为assert的宏,它可用于验证程序做出的假设,并在假设为假时输出诊断消息。assert 的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向 stderr 打印一条出错信息,然后通过调用 abort 来终止程序运行。 ass 阅读全文
posted @ 2020-06-04 15:21 Chen沉尘 阅读(534) 评论(0) 推荐(0)
摘要:explicit作用 阻止类构造函数的隐式自动转换。 由于C++的构造函数是默认支持隐式转换的(即默认是关键字implicit修饰)。 explicit使用场景 修饰只含一个参数的构造函数; 修饰除了第一个参数外其余参数都有默认值的构造函数。 当在上面两种情况以外的构造函数前加explicit时,e 阅读全文
posted @ 2020-06-01 20:18 Chen沉尘 阅读(157) 评论(0) 推荐(0)
摘要:RAII是什么 RAII全称是“Resource Acquisition is Initialization”,即资源获取即初始化。RAII技术被认为是C++中管理资源、避免泄露的最佳方法,可以实现安全、简洁的状态管理,编写出优雅的异常安全的代码。因为C++的语言机制保证了,当一个对象创建的时候,自 阅读全文
posted @ 2020-06-01 20:04 Chen沉尘 阅读(2118) 评论(0) 推荐(0)
摘要:<bits/stdc++.h>是万能头文件。 好处:省时省力。 不足:不是GNU C++库的标准头文件,某些编译器不支持(如MSVC),不可移植;会增加编译时间,因为包含了很多不需要的内容。 下面是<bits/stdc++.h>文件的内容: 1 // C++ includes used for pr 阅读全文
posted @ 2020-05-19 11:19 Chen沉尘 阅读(1209) 评论(0) 推荐(0)
摘要:函数原型 1 template<typename _ForwardIterator, typename _Tp> 2 void 3 iota(_ForwardIterator __first, _ForwardIterator __last, _Tp __value) 函数功能 以_Tp__valu 阅读全文
posted @ 2020-05-17 09:06 Chen沉尘 阅读(714) 评论(0) 推荐(0)