C++ 学习
文章平均质量分 84
dtmine
软件工程,数据挖掘
展开
-
C++虚类的作用
虚基类的作用 当一个基类被声明为虚基类后,即使它成为了多继承链路上的公共基类,最后的派生类中也只有它的一个备份。例如:class CBase { };class CDerive1:virtual public CBase{ };class CDeriv转载 2011-10-15 23:02:41 · 10523 阅读 · 0 评论 -
细说 #pragma pack(n)
在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储,第一个成员的地址和整个结构的地址相同。例如,下面的结构各成员空间分配情况:struct test转载 2012-10-21 22:40:57 · 811 阅读 · 0 评论 -
static in C++
要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常声明一个变量: int a; string s; 其实就是: auto int a; auto string转载 2012-10-21 22:43:19 · 559 阅读 · 0 评论 -
static in C
惨痛教训: 假设在test.h中定义了一个static bool g_test=false; 若test1.c和test2.c都包含test.h,则test1.c和test2.c分别生成两份g_test,在test1.c 中置g_test=true,而test2.c中仍然为false并未改变!shit!!一、c程序存储空间布局C程序一直由下列部分组成:转载 2012-10-21 23:04:19 · 518 阅读 · 0 评论 -
C和C++动态内存分配和释放的区别
一、先来谈谈在C语言下,动态内存分配和释放的特点。动态分配内存的定义是这样的,指在程序运行过程中,要申请内存,系统会根据程序的实际情况来分配,分配空间的大小是由程序的需求来决定的。在C语言下面,举个例子,定义一个指针,int *p;此时指针i是一个野指针,是一个指向不确定位置的指针,对它进行操作是很危险的,此时我们需要动态分配内存空间,让i指向它。而有一种形式是这样的,int *p=&b;这并转载 2012-10-21 21:28:37 · 2377 阅读 · 0 评论 -
【汇编】初学者问题集及一些编程思路(转载)
下面是以前在汇编区回答问题的一些总结和心得,希望可以给你们一些启迪,少走些弯路,元芳你说呢??? :)汇编初学者问题合集:http://blog.csdn.net/mydo/article/details/1776304关于 HLA 的学习心得 : http://blog.csdn.net/mydo/article/details/1561492汇编实现大数乘除运转载 2012-11-04 20:47:11 · 421 阅读 · 0 评论 -
学习C/C++的50个好网站
1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --提供数以百计的C和C++脚本和程序。所有程序都分为不同的类别。 3、http://www.planetsourcecode.co转载 2012-11-04 22:27:59 · 812 阅读 · 0 评论 -
面向对象的三个基本特征(讲解)
面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下转载 2012-12-02 11:54:22 · 629 阅读 · 0 评论 -
笔试面试Blog收藏
给大家推荐几个博客。 第一个:http://zhedahht.blog.163.com/这里有一系列的微软google等面试题,我是花了几天时间把这里面的60几篇博客从头至尾看完,而且大部分算法都用笔在纸上实现了一遍,没办法,因为面试就是这样,纸上写代码。这里面,八皇后问题创新工场笔试中考到了,当然这个问题很多书中也谈到过,不过这里用到的全排列的思想代码实现比较简洁。转载 2012-11-23 23:11:43 · 386 阅读 · 0 评论 -
头文件的用途和结构
早期的编程语言如BASIC、Fortran没有头文件的概念,C++/C语言的初学者虽然会使用头文件,但常常不明其理。这里对头文件的作用略做解释。(1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需按照头文件中的接口声明来调用库函数,而不必关心接口是怎么实现的。连接器会从库中提取相应的代码,并和用户的程序连接生成可执行文转载 2013-03-25 15:49:50 · 857 阅读 · 0 评论 -
关于C++中的域作用符
1. ::域作用符,用来引用全局的变量、函数等 比如 int i = 0; void test() { int i = 3; cout //输出函数中的局部变量i转载 2013-03-25 21:31:47 · 1339 阅读 · 0 评论 -
如何计算结构体及共用体大小
原文地址:如何计算结构体及共用体大小(转载)作者:清贫晓丫头对于结构体首先理解字节对齐机制:(1),结构体变量的首地址能够被其最宽基本类型成员大小所整除。(2),结构体每个成员相对于结构体首地址的偏移量(offset)都是该成员大小的整数倍,如有需要,编译器会在成员之间加上中间填充字节。(3)结构体总大小为结构体最宽基本类型成员大小的整数倍,如有需要,编译器会在最末一个成员之后转载 2012-10-20 23:15:53 · 3174 阅读 · 0 评论 -
函数指针和指针函数
【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址的指针变量称为函数指针。1.函数指针定义函数类型 (*指针变量名)(形参列表);“函数类型”说明函数的返回类型,由于“()”的优先级高于“*”,所以指针变量名外的括号必不可转载 2012-10-19 14:07:59 · 367 阅读 · 0 评论 -
VC++CString中Format的使用
CString的Format是一个很常用,却又似乎很烦的方法,本人试图对这个方法的帮助进行一些翻译,让它有一个完整的概貌,以供大家查询之用:首先看它的声明:function Format(const Format: string; const Args: array of const): string; overload;事实上Format方法有两个种形式,另外一种是三个参数的转载 2012-03-28 22:56:00 · 6175 阅读 · 0 评论 -
虚函数的应用特性
虚函数的应用特性 例:编写三个类:没有虚函数、有一个虚函数、有两个虚函数,在主函数中定义这三个类的对象,分别取这个类所占的内存空间的大小,观察在内存中的分配; 代码如下: /**//******转载 2011-10-15 23:04:35 · 977 阅读 · 0 评论 -
C++中const用法总结
C++中const用法总结作者JuKevin1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类转载 2011-10-09 22:40:12 · 373 阅读 · 0 评论 -
扫盲贴 Visual Studio 2005/2008中如何编译和运行C++程序
扫盲贴 Visual Studio 2005/2008中如何编译和运行C++程序 转载自:http://hi.baidu.com/_%E2d_%B7%B3_%DE%B2%C2%D2/blog/item/ad0796110b1fa214b8127b5b.html 经常看见有新手朋友在百度问如何使用Visual C++ 2005,怎么说呢,VC2005是非常强转载 2011-10-24 20:31:30 · 1397 阅读 · 0 评论 -
堆和栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2012-02-18 23:26:58 · 270 阅读 · 0 评论 -
yield() sleep() wait() 区别
1.sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是如果有Synchronized同步块,其他线程仍然不同访问共享数据。注意该方法要捕获异常 比如有两个线程同时执行(没有Synchronized),一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只转载 2012-02-18 23:55:40 · 329 阅读 · 0 评论 -
彻底搞定C指针——指针的指针
标 题: 彻底搞定C指针---指向指针的指针(转) 一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9转载 2012-03-06 22:06:01 · 323 阅读 · 0 评论 -
二位数组和指针(参考)
二维数组和指针⑴ 用指针表示二维数组元素。要用指针处理二维数组,首先要解决从存储的角度对二维数组的认识问题。我们知道,一个二维数组在计算机中存储时,是按照先行后列的顺序依次存储的,当把每一行看作一个整体,即视为一个大的数组元素时,这个存储的二维数组也就变成了一个一维数组了。而每个大数组元素对应二维数组的一行,我们就称之为行数组元素,显然每个行数组元素都是一个一维数组下面我们讨论指针转载 2012-03-06 22:57:42 · 509 阅读 · 0 评论 -
VC数据类型之间的相互转换
atof(将字符串转换成浮点型数) 相关函数 atoi,atol,strtod,strtol,strtoul 表头文件 #include 定义函数 double atof(const char *nptr); 函数说明 atof()会扫描参数nptr字符串,跳过前面的空转载 2012-03-07 22:04:14 · 373 阅读 · 0 评论 -
C++结构体实例和类实例的初始化
结构体实例(包括共用体)和类实例的初始化方法完全相同,二者都可以应用于继承层次中。不同点是结构体(包括共用体)默认成员为public,而类默认成员是private型的。一、若类和结构体所有数据成员均为public型,可采取如下带花括号形式进行初始化。 注意:① 不论值的个数多少,都必须使用花括号定界② 未指定值的数据成员编译器会自动初始化为默认值③ 这种初始化对象方式,要求转载 2012-03-11 09:33:37 · 455 阅读 · 0 评论 -
C/C++中枚举类型(enum)的使用解惑
枚举类型,顾名思义,“枚”作为量词,作“个”讲,那么枚举,就是一个一个的列举,如果一件事情能够被一个一个的列举,那么它的数量肯定就是有限的,否则是不能被一一列举出来的。所以枚举类型即为能被列举的常量的一个集合。在 生活中,枚举的例子随处可见,比如礼拜几,那么就可以作为一个枚举变量。这个变量所存储的值,是有限的,且,能被我们所列举。再比较说,性别。它也可以作 为一个枚举类型,我们知道,性别也就只转载 2012-03-11 09:36:37 · 1056 阅读 · 0 评论 -
C++预处理指令
C++预处理指令 http://blog.csdn.net/codewarrior/archive/2006/05/29/760690.aspx #include#define#undef#pragma#import#error#line#ifdef#ifndef#if#else#elif#endif 宏以转载 2013-04-17 21:56:33 · 719 阅读 · 0 评论