自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Think88666的博客

热爱生活

  • 博客(22)
  • 资源 (11)
  • 收藏
  • 关注

原创 C++中placement new操作符(经典)

placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。它的原型如下:void *operator new( size_t, void *p ) throw() { return p; }首先我们区分下几个容易混淆的关键词:new、......

2019-04-29 22:59:49 1298

原创 减少使用make_pair

在写代码的时候,我们经常在使用map的时候同样使用着make_pair,例如以下的代码std::map<int,Obj> m;int i = 0;Obj1 obj1;m.insert(make_pair(i,obj1));为什么说make_pair效率很低呢,因为make_pair的返回值是pair对象,会造成什么结果呢?obj1拷贝到临时的pair对象中,临时的p...

2019-04-23 21:20:44 640

原创 vector,map以及list性能对比

虽然说map是关联容器,一般关联的数据都使用map来存储,但是实际上vector或者list也是可以代替这样的功能。具体实现可以看https://blog.csdn.net/Think88666/article/details/89430259比如vector保存一个结构体:struct stData{ int key; int value;}又或者用ve...

2019-04-21 11:59:17 19841 2

原创 vector或list保存结构体或对象时的查找方法

vector或者list内部保存结构体或者对象时,可以实现和map一样的效果,但是千万不要手动遍历容器,这样会导致程序的性能下降数倍,最好的方法是使用std::find或者std::find_if来查找,速度快的多!代码如下:1、std::find例子#include <iostream>#include <vector>using namespace ...

2019-04-21 11:57:39 2666

原创 vector中存放对象和指针的区别

这里先说出结论:vector中push_back对象时,会调用对象的拷贝构造函数。而且在vector空间不足时,继续push_back,vector会将之前的所有对象都拷贝构造到一块更大的空间里。也就是说对象如果较大,那么最好用vector保存指针以减少调用拷贝构造 造成的消耗,如果vector存指针,那么也就拷贝指针而已,消耗非常小。如果实在需要使用vector保存对象,那么尽量利用c++1...

2019-04-20 10:38:12 21000 5

原创 为什么空类的大小是1而不是0?

试想,如果一个类的大小是0,那还可以初始化吗?有什么意义呢?为此编译器就自动给空类加了一个字节,让其可以实例化成具体的对象。

2019-04-18 22:37:20 692

原创 C++常用库之网络库

C++一个很大的用途就是作为网络层组件的开发语言。C++开发的第三方网络库也比较多。其实,c语言下的网络库也不少。现在简单介绍一下。ACE库ACE是一个大型的中间件产品,代码有几十万行,非常宏大,里面使用了一堆的设计模式,架构了一层又一层,具体使用的时候, 要根据情况,要看从那一层来进行使用。而且,它也支持跨平台。现在基本上都把ACE当成一个框架,它的主要应用场景是高...

2019-04-16 20:43:39 25597 3

原创 char[0]不是你想用想用就能用

前言新了解char[0]的少年们很愉悦的将其应用到了项目中,多看一条注意事项可以减少不必要的痛苦。引言在C语言中char[0]是一种数组的特殊用法,用于标记一个指针在一个结构体最后:例如:struct node{int number;//后面的数据长度char data[0];//这是一个指针,不占空间}sizeof(node)就等于sizeof(int);更......

2019-04-14 21:42:32 13466

原创 怎样为std::map的自定义键值

1、重载<运算符——也就是重载key类的小于运算符#include <map>#include <iostream>using namespace std;struct stSubKey //自定义key{ int m_nKey1; int m_nKey2; stSubKey(int nKey1, int nKey2) :m_nKey1(...

2019-04-14 16:13:17 10167

原创 c/c++获取时间戳以及毫秒计算

1、获取利用time函数当前的时间戳(秒)#include <iostream>#include <time.h>using namespace std;int main(){ time_t t; time(&t); cout << t << endl; return 0;}2、毫秒级...

2019-04-14 13:18:31 10256 4

转载 svn log显示最新几行

svn log | head -n 10https://blog.csdn.net/liuj8929/article/details/77944199

2019-04-11 16:37:31 1878

转载 SVN:取消对代码的修改

http://blog.sina.com.cn/s/blog_5432f2730100vmz4.html取消对代码的修改分为两种情况:第一种情况:改动没有被提交(commit)。这种情况下,使用svnrevert就能取消之前的修改。svnrevert用法如下:#svnrevert[-R] something其中something可以是(目录或文件的)相对路径...

2019-04-10 14:16:01 361

转载 vs编译器内存查看和分析

首先打开vs编译器,创建好项目,并且将代码写进去,这里就不贴代码了,你可以随便的写个做个测试。 调试的时候做好相应的断点,然后点击开始调试。 程序调试之后会在你设置断点的地方暂停,然后选择调试->窗口->内存,就打开了内存数据查看的窗口了。 内存查看的窗口可以开启四个,在这里方便的进行对比。 在内存窗口的地址栏中输入你...

2019-04-10 09:19:45 3539

转载 C语言中“&=,^=,|=”分别表示什么意

C语言中“>>=,<<=,&=,^=,|=”分别表示什么意思?1、C语言中的 >>= 意思为:右移后赋值代码示例为:x = 8;x >>=3;右移后结果为:000000000000000000000000000000012、C语言中的<<= 意思为:左移后赋值代码示例为:x ...

2019-04-09 20:09:32 140445 5

原创 linux下的find文件查找命令与grep文件内容查找命令

linux下的find文件查找命令与grep文件内容查找命令  在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。  区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。 (2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式......

2019-04-09 17:09:24 547

转载 svn冲突问题详解 SVN版本冲突解决详解

(摘自西西软件园,原文链接http://www.cr173.com/html/46224_1.html)解决版本冲突的命令。在冲突解决之后,需要使用svnresolved来告诉subversion冲突解决,这样才能提交更新。冲突发生时,subversion会在WorkCopy中保存所有的目标文件版本(上次更新版本、当前获取的版本,即别人提交的版本、自己更新的版本、目标文件。开发人员都知道代...

2019-04-09 10:58:09 708

转载 SVN命令的使用和功能详解

在linux上使用svn,熟悉这些命令非常重要!命令的使用1、检出svncohttp://路径(目录或文件的全路径) [本地目录全路径]--username 用户名 --password 密码svncosvn://路径(目录或文件的全路径) [本地目录全路径]--username用户名 --password 密码svncheckouthttp://路径(目录或...

2019-04-09 10:44:27 455

原创 GDB调试程序

 gcc/g++编译器是我们写编译C/C++程序时离不开的编译工具,而gdb又是调试C/C++程序的利器,这一篇文章我们记录一下它们的惯常用法。gcc/g++常用编译选项 选项 作用 -c 生成可目标文件,但不进行链接 -o 指定生成文件的文件名 -g 在目标文件中添加调试信息,便于gdb调试或objdump反汇编 -Wall ...

2019-04-08 21:44:55 753

原创 关于printf和sprintf打印或者格式化字符时需要注意的

今天在使用sprintf格式化字符串的时候是这样做的 unsigned int i = 88; char buf[20]; sprintf_s(buf, "%d", i); std::cout << buf << std::endl;程序运行结果:这样做看似没有问题,但实际上会出现较大的问题。原因在于%d是格式化有符号整型。看以下代码 unsi...

2019-04-04 20:06:24 888

原创 C/C++不用std::to_string的方式实现整数转字符串

今天使用在项目中需要用到整数转字符串,平时直接std::to_string就搞定了,但是由于项目比较久远,而std::to_string是在c++11中才开始支持的,所以想到了用atoi函数来转换,但遗憾的是在linux下似乎没有该函数,通过查找相关资料,看到了有如下方法实现该转换——sprintf函数 char str[20]; sprintf(str, "%d*%d",100,666)...

2019-04-04 16:51:37 2158

原创 子类调用父类的方法

今天在看某项目源代码时,我看到了这样的代码class B{public: void printB(){ A::PrintA(); }};看了这个代码,我以为printA是类A的static方法,结果找了半天没找到,很尴尬。。。原来子类调用父类就是这样调用的。所有代码如下:class A{public: void printA(){}...

2019-04-01 19:25:51 14724

原创 static_cast与dynamic_cast转换

static_cast用法:static_cast< type-id > ( exdivssion )该运算符把exdivssion转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。  进行上行转换(把子类的指针或引用转换成基类表示)是安全的;  进行下行转换(把基类指针或引用转换成子......

2019-04-01 19:11:40 182

PE分析工具-支持分析32位PE文件

PE分析工具(支持32位) 树状结构查看,PE结构清晰,支持查看区段二进制数据

2022-11-06

duilib入门1资源

duilib入门1资源

2022-08-14

fixtool.zip

windows 执行cmd报错、wmi报错,提示无效类,修复此类问题

2021-03-05

VC_Linux.zip

在visual studio上下载该插件实在是太慢了,这里给大家提供下载好了的。用于在windows上开发linux程序

2020-04-07

routerpassview_xpgod.zip

通过导入路由器配置的备份文件,即可获取路由器相关信息,包括ISP用户名密码、路由器密码等。

2020-02-03

Scrollbar_png.zip

duilib滚动条图片,我使用的版本的duilib滚动条无效,参考样式如下: <Default name="VScrollBar" value="button1normalimage=&quot;file='scrollbar.png' source='0,0,16,16'&quot; button1hotimage=&quot;file='scrollbar.png' source='16,0,32,16,16'&quot; button1pushedimage=&quot;file='scrollbar.png' source='32,0,48,16'&quot; button2normalimage=&quot;file='scrollbar.png' source='0,32,16,48'&quot; button2hotimage=&quot;file='scrollbar.png' source='16,32,32,48'&quot; button2pushedimage=&quot;file='scrollbar.png' source='32,32,48,48'&quo

2019-11-20

DuiDesigner.rar

DuiDesigner bug最少的版本,不用编译,运行即可。简化了程序员的大量繁琐复杂的工作。 DuiDesigner bug最少的版本,不用编译,运行即可。简化了程序员的大量繁琐复杂的工作。

2019-11-14

VC AssistantX_适用VS2005.zip

能够完美适配vs2005,让您摆脱VS2005编程不便,轻松搞定vs2005环境下的编程,同时还可以兼容vs2008以及vs2010等版本。

2019-07-10

visual assist破解版附带教程2010/2012/2015

visual assist破解版附带教程2010/2012/2015

2019-04-24

Effective+C++中文版(第三版)

Effective+C++中文版(第三版) Effective+C++中文版(第三版)

2019-04-19

tcp/udp高并发和高吐吞性能测试工具

只需要简单地设置一下就能对tcp/udp服务进行高并发和高吐吞的性能测试,并通过图形化的方式反映测试结果.

2019-04-09

下雪桌面程序,基于c++开发

一个下雪的桌面程序,非常漂亮,我们可以设置是否开机启动,也可以设置雪的大小.

2019-01-31

简易版ftp服务器程序

ftp服务器程序ftp服务器程序ftp服务器程序ftp服务器程序ftp服务器程序ftp服务器程序

2018-06-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除