C++11 – std::string – stod/stof/stoi/stol/stold/stoll/stoul/stoull,由std::string转换为int/long/float/double等其他类型
在C++11发布之前我们只能使用C语言的atoi等函数完成字符串到int/float/double等类型的转换,而在C++11中在std::string中自带了stoi/stod等工具函数进行转换! 1 std::stod 函数原型 double stod (const string& st…
- C++
- 2021-01-29
C++ – std::string输出双引号到字符串
1 C++ std::string输出双引号到字符串 输出双引号“”到字符串中可以通过添加转义字符"\"对双引号进行转义, 可参考代码如下: int main() { string str = "\"Everything is worse!\""; cout << str <<…
- C++
- 2021-01-28
C++ – 获取当前进程内存使用情况
1 获取当前进程内存使用情况 1.1 GetProcessMemoryInfo函数和其他相关信息 可以使用psapi.h中的GetProcessMemoryInfo函数获取指定进程的内存使用情况的信息。 BOOL GetProcessMemoryInfo( HANDLE Process, PPROC…
- C++
- 2021-01-25
C++ – 只有在Debug模式下才使用std::cout输出调试日志,Release发布版本不输出调试日志
1 调试日志的输出 日志的输出的重要性:在程序开发过程中,日常调试信息的输出对锁定bug代码行位置、数据校验、信息判断起着非常重要的作用。 日志输出的缺陷:但是在发布的生产版本代码中大量输出日志容易造成性能丢失,日志文件过大的问题,所以调试日志输出常常只是需要在Debug模式下需要,而在发布版本中是…
- C++
- 2021-01-16
Centos7 编译C++项目错误解决 : terminate called after throwing an instance of ‘std::regex_error’
1 问题原因 Centos7默认的gcc版本是4.8.3,虽然对C++11的一些新特性提供了支持,但是对C++11的正则表达式好像只写了头文件,没有提供具体的实现????!Wtf! 因为在cmake编译项目的时候整个项目可以正确的编译成功,但是一旦运行就会出现 terminate called af…
- C++
- 2020-12-16
C++ – 字节数组byte[]或者unsigned char[]与int的相互转换
一个字节为8位二进制位 1 int转字节数组byte[] C++中,字节数组byte通常用unsigned char表示,所以int转换为字节数组本质上是将int转换为unsigned char数组。int一般为4个字节,那么就为32位二进制位表示。 代码如下: void IntToByte(int…
- C++
- 2020-11-10
C++11 – 父类与子类相互包含的时候该如何正确的使用智能指针,防止循环引用
1 父类和子类相互包含的应用场景 在实际开发的过程中,经常会遇到这种类似的问题,一个父类通常维护着属于该父类的多个子类指针,而每一个子类中也存储着指向其父类的指针对象,方便进行节点递归或者其他操作。 比如说: 一个三维立方体,每一个三维立方体类都包含了所有属于该立方体的三角面类,而每一个三角面都存储…
- C++
- 2020-09-25
C++11 – std::bind简要介绍以及可绑定函数的几种形式总结
1 std::bind template <class Fn, class... Args> /* unspecified */ bind (Fn&& fn, Args&&... args); template <class Ret, class F…
- C++
- 2020-09-24
C++11 – std::function简要介绍以及可包装函数的几种形式总结
1 std::function 函数模板形式: template <class T>函数;//未定义 模板<class Ret,class ... Args> class function <Ret(Args ...)>; 1.1 函数模板说明 std::func…
- C++
- 2020-09-24
C++ – 使用Websocket++编写客户端连接WebSocket服务器并进行通信
1 库依赖 使用Websocket++有两种方案: Websocket++ + boost,主要是使用Boost Asio,这种方案比较重依赖,需要链接Boost Websocket++ + 独立Asio库,这种方案比较轻量,Websocket++和独立Asio都只需要使用头文件即可,具体的配置方案…
- C++
- 2020-08-31
C++ – 最简单的将文本文件的内容一次性读取到std::string的方法
1 C++将文本文件一次性读取到std::string的方法 包含头文件: #include <fstream> #include <iostream> 读取代码如下: std::ifstream in("test.txt", std::ios::in); std::istr…
- C++
- 2020-08-21