![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 60
A_Le
坐而言不如起而行
展开
-
MFC之Ctreectrl 子项置灰不可点击方法
关于Ctreectrl 子项置灰或者说disable网上基本没有详细的介绍和方法。后面发现有一个使用TVIS_EX_DISABLED 改项状态可以将其置灰或者设置为disable。m_treectrl.SetItemStatusEx(hItem,TVIS_EX_DISABLED);按照上面的设置即可,至于置灰后,checkbox还能点击就不知道为啥了。有知道的大神就告知下。http://www.miyoutao.com...原创 2020-05-21 15:36:57 · 1504 阅读 · 0 评论 -
vs中检测内存泄漏的方法
使用vs的内存检测有以下几种方法。在debug模式下以F5运行:方法一:#define CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> //在入口函数中包含 _CrtDumpMemoryLeaks(); //即可检测到内存泄露//以如下测试函数为例:int main(){ char*...转载 2018-03-27 16:40:20 · 1036 阅读 · 0 评论 -
error C4996: '*': This function or variable may be unsafe. Consider using * instead
在VS 2012(或者以上) 中编译 C 语言项目,如果使用了 scanf 函数,编译时便会提示如下错误:error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO转载 2017-11-16 16:54:10 · 457 阅读 · 0 评论 -
C++智能指针
直接管理内存什么时候需要直接管理简而言之,当内存分配在栈上时,不需要直接管理,而当内存分配在堆上时则需要手动回收,或者等到堆上内存分配满了触发了自动回收机制。 关于堆和栈,这篇文章讲得浅显易懂:http://blog.csdn.net/hairetz/article/details/4141043 一个由C/C++编译的程序占用的内存分为以下几个部分栈区(stack转载 2017-02-24 18:27:05 · 452 阅读 · 0 评论 -
深入分析C++中声明与定义的区别
如有转载,请注明出处。本文出处http://www.jb51.net/article/54613.htmC++学了这么多年你知道为什么定义类时,类的定义放在.h文件中,而类的实现放在cpp文件中。它们为什么能够关联到一起呢?你知道什么东西可以放在.h文件中,什么不能。什么东西又可以放在cpp文件中。如果你忘记了或是压根就不明白,那么读过此文你会清晰无比!! 首先谈下声明与定义的区别。转载 2017-02-21 22:07:53 · 331 阅读 · 0 评论 -
C++运算符重载详解及例子
如有转载请注明出处,本文原文地址:http://blog.csdn.net/dingyuanpu/article/details/5852825C++中预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。例如: class complex { public: complex(double r=0.0,double I=0转载 2017-02-20 16:09:22 · 561 阅读 · 0 评论 -
C++泛型中replace和replace_copy
在c++中,可以使用replace替换序列里面某些特定的值。void replace(_FwdIt _First, _FwdIt _Last, const _Ty& _Oldval, const _Ty& _Newval);很明显在replace中有四个参数,第一和第二个参数是将要替换的序列的开头和结尾。例如vector 的对象ivec,ivec.begin(),和ivec.end()原创 2016-09-17 20:02:07 · 589 阅读 · 0 评论 -
5种服务器网络编程模型讲解
本文转载自:http://www.cricode.com/3510.html。如有转载请注明出处1.同步阻塞迭代模型同步阻塞迭代模型是最简单的一种IO模型。其核心代码如下:bind(srvfd);listen(srvfd);for(;;){ clifd = accept(srvfd,...); //开始接受客户端来的连接 read(cli转载 2016-04-26 14:09:06 · 300 阅读 · 0 评论 -
C++ 容器map的使用
map是键值对的集合,可使用键作为下标来获取一个值。使用map对象时,必须包含map头文件.定义:map mval;创建一个名为m的空map对象,其键和值得类型分别为key和value。增:例:1.mval.insert(map::value_type("a",1));2.mval.insert(pair("b",2));3.mval.insert(make_pair("c原创 2016-02-23 10:40:41 · 467 阅读 · 0 评论 -
C/C++ const 关键字详解
为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界和switch分情况标号(也可以用枚举符代替),分类如下: 常变量: const 类型说明符 变量名 常引用: const 类型说明符 &引用名 常对象: 类名 const 对象名 常成员函数:转载 2016-03-16 10:49:26 · 309 阅读 · 0 评论 -
C++左值和右值
左值和右值通俗点就是等号左边的值(表达式)和等号右边的值(表达式)。左值,是代表一个内存地址值,并且通过这个内存地址,就可以对内存进行读并且写(主要是能写)操作;右值,是代表一个常量或者是与运算操作符结合的表达式,简单点就是一个数据值。例如:int a;int b;a = 0;b = 1;b =a;其中,a是左值和右值,b是左值。但是,如果说b = a +1,那原创 2015-12-14 22:35:59 · 698 阅读 · 2 评论 -
C++ vector的使用
vector在C++中称为容器,为什么叫容器呢?顾名思义,就是能装下别的东西(对象).当然,要使用vector容器,必须引入#include的库。vector是一个类模板,使用模板可以编写一个类定义或函数定义,而用于多个不同的数据类型。(一)vector有几种初始化方法:1.vectorv1;//T是数据类型,v1是变量名。v1默认值是空,vetoc v1;2.vectorv2(v原创 2016-01-15 18:02:52 · 326 阅读 · 0 评论