C++
c++学习
机智的程序员小熊
《Go语言进阶之路开源书》作者,监控云领域,大厂横跳,掌握Go、Python,熟悉C++、算法。拥有完整的前后端运维产品服务团队。
展开
-
一次linux中定位c++程序运行异常的经历
今天下午我遇到了一些棘手的问题,因为在mips64上编译程序,经常出现程序编译不出来,或者运行不正常,花了很长的时间定位,最后和同事一些解决了,下面分享出来我提炼出来的一些核心定位问题的步骤。 子线程创建不出来 猜测:go的程序都能创建出子线程,但是c++的创建不出来,但是在 x86 可以,是不是什么 linux 系统限制? 解决方法:加错误日志进行调试(最 lower 办法) 找到报错点: 查询 man 手册,看看是不是能找到有帮助的东西 man pthread_attr_setstacksize原创 2020-05-25 23:44:48 · 565 阅读 · 0 评论 -
00后小哥哥,浅谈C++输入输出流及其重载
大家好,我是小熊,这篇文章来自你们最喜爱的00后小哥哥,自从发了几篇文章以后我的微信就被加爆了,竟然有女孩子想认识00后小哥哥!魅力那么大吗!!有没有考虑过小熊的感受? 浅谈 C++输入输出流及其重载 在学习 C 阶段我们写代码第一句就是#include<stdio.h>,这个到底是什么呢? include 称为文件包含命令,stdio 为 standard input output...原创 2020-04-22 21:57:08 · 381 阅读 · 0 评论 -
C++责任链
#include <iostream> using namespace std; class Base{ protected: Base *next; public: Base(Base *t){ next=t; } Base(){原创 2015-03-08 23:17:06 · 974 阅读 · 0 评论 -
随机数发生器说明
srand函数是随机数发生器的初始化函数。原型:void srand(unsigned seed);用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的rand()函数会出现一样的随机数。如: srand(1); 直接使用1来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00:00 GMT, Ja原创 2014-12-15 20:57:06 · 1328 阅读 · 0 评论 -
c++自由的转换string和number
string转数字#include <string> #include <sstream> //使用stringstream需要引入这个头文件 //模板函数:将string类型变量转换为常用的数值类型(此方法具有普遍适用性) template <class Type> Type CurveDataModel::stringToNum(const std::stri原创 2017-12-20 15:55:35 · 3847 阅读 · 0 评论 -
C++: string的大小写转换
C++: string的大小写转换 转载 2014年12月02日 23:23:25 9806 将一个string转换成大写或者小写,是项目中经常需要做的事情,但string类里并没有提供这个方法。自己写个函数来实现,说起来挺简单,但做起来总让人觉得不方便。打个比方:早上起来想吃个汉堡,冰箱里有生牛肉,有面粉,也有微波炉,是可以自己做的,但是实在是太费事,没几个人愿意做。但是,打个电话转载 2017-12-29 17:38:54 · 986 阅读 · 0 评论 -
c++json构建与解析组件 RapidJSON 没用过永远不会知道有多好用
参考资料:官方文档 推荐【腾讯RapidJSON】学习笔记原理请参考以上资料构建jsonDocument doc; Document::AllocatorType &allocator=doc.GetAllocator(); //1.获取分配器 doc.SetObject(); //2,给doc对象赋值 Value pnameValue;pnameValue.SetString(Strin原创 2017-12-29 18:31:38 · 1234 阅读 · 0 评论 -
类中含有指针,无拷贝构造导致的双倍释放,浅拷贝与深拷贝
这个是数据结构 class Ctemp{ public: char *s; ~Ctemp() { if(NULL!=s) free(s); s=NULL; } }; 错误复现 void testFunction() { Ctemp temp1; temp1.s = (char *)原创 2017-12-29 17:52:18 · 954 阅读 · 0 评论 -
c++采集windows操作系统名称
WINAPI windows通过c++获取操作系统主要分两种: 1. windows是8.1版本以下版本:获取操作系统可以通过windows提供的api中GetVersionEx函数来获取 2. windows是8.1版本及以上:获取操作系统主要通过RtlGetNtVersionNumbers法来获取 微软也有坑,如果用GetVersionEx获取版本号,则获取到的是6.2.9200 参...原创 2018-02-24 15:40:27 · 1130 阅读 · 0 评论 -
Google Protocol Buffer Basics: C++
Google Protocol 传输协议原创 2017-02-21 20:02:30 · 883 阅读 · 0 评论 -
多态以及虚析构函数的使用
为什么要有虚析构函数?因为在实现多态时,当用基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生。 /* 多态 虚析构函数 programmer:qpz time:2014-11-05 */ #include <iostream> const int MAX=3; using namespace std; class Base{ private:原创 2016-12-11 16:48:33 · 955 阅读 · 0 评论 -
function template
/* function template programmer:qpz*/原创 2014-12-15 20:56:08 · 947 阅读 · 0 评论 -
基类指针赋值兼容规则
/* 赋值兼容规则 作者:qpz */#include #include using namespace std;class Base{private: int x; int y;public: Base(int x,int y) { this->x=x; this->y=y; }};class Derived:public Base{private: int z;public: De原创 2014-12-15 20:56:05 · 1083 阅读 · 0 评论 -
windows的磁盘操作之七——获取当前所有的物理磁盘号 加备注
windows的磁盘操作之七——获取当前所有的物理磁盘号 2011-07-28 17:47:56 标签:windows API DeviceIoControl 物理磁盘 驱动器号 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://cutebunny.blog.51cto.com/301216/625577转载 2016-08-07 19:09:20 · 2153 阅读 · 2 评论 -
拷贝构造函数
拷贝构造函数拷贝构造函数 一什么是拷贝构造函数 1 浅拷贝 2 拷贝构造函数 二在哪里使用到拷贝函数 1 作为参数传递给函数 2 对象需要通过另外一个对象进行初始化 3 从函数返回对象 一、什么是拷贝构造函数?1.1 浅拷贝先来了解点预备知识,浅拷贝。所谓浅拷贝,指的是在对象复制时,只对对象中的数据成员进行简单的赋值,默认拷贝构造函数执行的也是浅拷贝。大多情况下“浅拷贝”已经能很好地工作了,但是一旦原创 2016-11-16 10:21:05 · 974 阅读 · 0 评论 -
C++ 友元函数
C++ 友元函数 类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数,或者说不属于任何一个类。 友元可以是一个函数,该函数被称为友元函数; 友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。 举例:#include <iostream> usin原创 2016-11-16 23:41:51 · 853 阅读 · 0 评论 -
C++ 重载运算符(详)
C++ 重载运算符C 重载运算符 一重载函数 1例程 2备注 二重载运算符 11 二元运算符重载 11 一元运算符重载 111 -- 2备注 3 特殊运算符重载 31 号运算符 32 下标运算符 32 括号运算符 三重载运算符之友元函数 例程 参考材料 运算符重载实质是函数的重载,所以我们先来了解一下重载函数。一、重载函数 重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声原创 2016-11-17 22:59:33 · 1831 阅读 · 3 评论 -
C++随机数
伪随机数int rand(void)函数通常用来当做随机函数来使用,殊不知这其实是一个伪随机函数。按照某种顺序生成的随机函数,这是什么意思呢?我们来测试一下,第一次: cout << "first:" << endl; cout << rand() << endl; cout << rand() << endl; cout << rand() << endl; 第二原创 2016-12-10 18:55:21 · 991 阅读 · 0 评论 -
strcpy/strncpy/strcpy_s比较
转载自:http://blog.csdn.net/caomiao2006/article/details/4766416 strcpy()是依据源串的/0作为结束判断的,不检查copy先的Buffer的Size,如果目标空间不够,就有BufferOverflow问题。请务必使用按照strncpy_s()、strcpy_s()、strncpy()等不同环境而准备的安全度很高的函数。转载 2016-12-11 16:23:28 · 927 阅读 · 0 评论 -
C++的精度控制
C中%d,%3.3f之类的精度控制原创 2014-12-15 20:56:39 · 1431 阅读 · 0 评论