自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

转载 C++类所占内存大小计算

C++类所占内存大小计算转载时请注明出处和作者联系方式文章出处:http://blog.csdn.net/chenchong08作者联系方式:vision_chen@yeah.net说明:笔者的操作系统是32位的。class A {}; sizeof( A ) = ?sizeof( A ) = 1明明是空类,为什么编译器说它是1呢?空类同样可以实例化

2017-11-28 12:07:34 1939

转载 动态数据结构

所谓动态数据结构,是指在运行时刻才能确定所需内存空间大小的数据结构,动态数据结构所使用的的内存称为动态内存。动态内存的使用有一定的危险,必须遵守一定的规则。动态申请的内存在不需要时必须及时释放,如果不断地申请动态内存而不加以释放,将导致内存资源的枯竭。        c++处理动态内存提供了一对操作符new和delete。new操作符用于动态申请内存,而delete操作符则用来释放动态申请的内

2017-11-26 00:16:36 475

原创 普通成员函数和内联函数调用区别(内含函数调用过程)

收先要注意的是,即使在代码中声明为内联函数,编译器也不一定接受,实现的时候不一定为内联函数。普通函数调用:执行到调用语句时,跳到函数代码存储区,然后执行局部变量压栈、参数压栈存、保护现场(存储函数调用后继续执行的地址)等操作。执行完后,跳回调用语句处。如:FUN_A调用FUN_BFUN_A ebp(栈堆基址指针)入栈,esp(堆栈栈顶指针)赋值给ebp作为FUN_B基址,申请内存,压栈

2017-11-23 16:36:40 1917 1

原创 为什么结构体/类中,成员变量可以初始化不可以赋值?

类内部成员的初始化在C++98标准里,只有static const声明的整型成员能在类内部初始化,并且初始化值必须是常量表达式。这些限制确保了初始化操作可以在编译时期进行。例如: int var = 7; class X { static const int m1 = 7; // 正确 const int m2 = 7; // 错

2017-11-23 11:39:41 3922

转载 结构体定义 typedef struct 用法详解和用法小结

typedef是类型定义的意思。typedef struct 是为了使用这个结构体方便。具体区别在于:若struct node {}这样来定义结构体的话。在申请node 的变量时,需要这样写,struct node n;若用typedef,可以这样写,typedef struct node{}NODE; 。在申请变量时就可以这样写,NODE n;区别就在于使用时,是否可以省去str

2017-11-23 11:02:59 281

原创 结构体中不能给指针申请空间(存疑,待解决)

做了个实验如下:struct errorTest{ const char *p = "hello"; char *ptr = new char[3]; ptr[0] = 'a';//编译器在ptr处提示:此声明没有存储类或类型说明符 ptr[1] = 'b'; ptr[2] = '\0';}原因:类内函数外只能定义全局变量和对象,而不能执行语句或调用,struct内定义规则类

2017-11-22 22:13:04 698

转载 c++类的成员函数在定义对象前分配了存储空间吗?

对于一般的类(非静态)来说,在定义类但还未创建对象的时候,类的所有成员(包括变量和函数)都占用着内存空间(准确地说占用着指令代码区),但不占用堆栈空间而创建对象的时候,会根据对象的类型占用堆栈的空间(用传统模式创建对象会占用栈空间,用引用+new模式创建对象会占用堆空间,同时引用会保存在栈里)对于静态(static)类来说,静态类是不能实例化创建对象的,所有的成员都是静态成员,也需

2017-11-22 21:50:04 3919 4

原创 数组存储字符串初始化

我们都知道字符串的结尾要有'\0',才会被解释成字符串结束。C++用数组存储字符串,初始化是个很有意思的东西。我们知道给一个int类型数组初始化部分赋值,其余部分会被自动补0,那char数组呢?做个实验: char haha[2] = { 'a','b' }; for (size_t i = 0; haha[i] != '\0'; i++) { printf("p:%p,

2017-11-22 20:37:09 701

原创 二维数组地址

二维数组定义:int arr[2][3];typedef p arr[3];p *q;二维数组在内存中地址存储顺序:for (size_t i = 0; i < 2; i++) { for (size_t j = 0; j < 3; j++) { //数组地址线性增长,可能是arr[0][0],arr[0][1]。。。。也可能是arr[0][0],arr[1][0]

2017-11-21 20:27:44 1589

原创 const变量赋值原则

const int **p1; int *p2; p1 = &p2; // error 非const地址无法赋值给const 指针 const int temp_1 = 4; int temp_2 = 9; const int *pt_1; int *pt_2; pt_1 = &temp_1; pt_2 = &temp_1;//error const数据地址无法赋值给非co

2017-11-20 20:19:57 3491

转载 关于C++ const 的全面总结

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用   如下表所示:No.作用说明参考代码

2017-11-20 19:53:56 150

转载 C语言的变量的内存分配

先看一下两段代码:[cpp] view plain copychar* toStr()   {      char *s = "abcdefghijkl";      return s;  }  int main()  {      cout     return 0;  }  和[cp

2017-11-20 18:41:20 253

原创 C++表达式和左值

一表达式在C++中,任何值或者任何有效值和运算符号的组合都是表达式 。对任何表达式加上分号都可以成为语句。如:当判断表达式的值这种操作改变了内存中数据的值时,我们说表达式有副作用。因此,判定表达式会带来这样的副作用,即修改被复制者的值10//值为10的表达式10+10//值为20的表达式x=20//表达式的值为20x二左值可以通过以下两点来判定C++中的左值1 有名

2017-11-18 09:18:12 761

转载 typedef函数指针用法

1.简单的函数指针的应用形式1:返回类型(*函数名)(参数表) [cpp] view plain copychar (*pFun)(int);   char glFun(int a){ return;}   void main()   {       pFun = glFun;       (*pFun)(2)

2017-11-17 15:47:21 121

转载 获取C++虚表地址和虚函数地址

获取C++虚表地址和虚函数地址                               By qianghaohao          学过C++的应该都对虚表有所耳闻,在此就不过多介绍概念了,通过实 例来演示一下如何获取虚表地址和虚函数地址。         简单说一下虚表的概念:在一个类中如果有虚函数,那么此类的实例中就有一个虚表指针指向虚表,这个虚表是

2017-11-17 11:35:12 620

原创 char c = 1 char c = "1" char c = '1'

char c = 1 表示ASCII码=1的字符char c = "1" 语法错误char c = '1' 表示1这个字符#includeint main(){ char a=1,b='1'; printf("%c %c\n",a,b);// 输出ASCII为1的字符和字符'1' return 0;}ASCII第一次以规范标准的型态发表是在1967

2017-11-16 14:45:40 15830

转载 SQL GUID和自增列做主键的优缺点

SQL GUID和自增列做主键的优缺点 我们公司的数据库全部是使用GUID做主键的,很多人习惯使用int做主键。所以呢,这里总结一下,将两种数据类型做主键进行一个比较。使用INT做主键的优点:    1、需要很小的数据存储空间,仅仅需要4 byte 。    2、insert和update操作时使用INT的性能比GUID好,所以使用int将会提高应用程序的性能。

2017-11-08 14:51:31 1493

原创 windbg抓取dump

This is used for your reference to enableand get crash dumps. There are 5 parts:WindowsDump SettingsCrash Dump ForProcessesWindbgSettings Via KdnetSolutionsFor BSOD Dump MissingReference 

2017-11-02 16:53:13 464

原创 bat命令更改注册表(需管理员权限运行)

Syntaxreg add [{/v ValueName | /ve}] [/t DataType] [/s Separator] [/d Data] [/f]v 后面是名称, t后面是类型,的后面是数据/v /t /d 前后都有空格使用详情见最后的例子Param

2017-11-02 12:45:40 3928

原创 windbg 通过网络联机调试配置

Setting Up Kernel-Mode Debugging over a Network Cable Manually05/23/2017 9 minutes to read Contributors Debugging Tools for Windows supports kernel debugging over an Ethernet netwo

2017-11-01 16:19:53 2321

IDEA快捷键大全.zip

用户仅可上传其享有知识产权或已取得相关权利人合法授权的资源或内容,用户不得在未经授权的情况下,上传任何可能涉及侵权的资源或内容,用户必须保证上传资源或内容不侵犯任何第三方的合法权益。用户不得未经著作权人同意擅自对他人的作品进行全部或部分复制、修改、改编、翻译、汇编、反向工程、反向编译、反向汇编或改写并进行上传。用户可以为介绍、评论、研究等目的,在合理范围内依法引用他人已经发表的作品,但应当注明作者姓名、作品名称,且不得侵犯著作权人及其他权利人的合法权益

2020-07-14

工程文件设置输出

配置VS,按照库文件、头文件等给项目分类。

2016-11-02

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

TA关注的人

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