语言
pyjfoot
这个作者很懒,什么都没留下…
展开
-
C语言的变量声明在其它语句之前
C语言的变量声明在其它语句之前在ANSI C99之前,变量的声明必须放在其它语句之前,否则C99以前的编译器就会报错。例如,以下的函数定义出错。[cpp] view plaincopyvoid function() { int a=5; a = 10; int原创 2012-03-24 09:40:59 · 524 阅读 · 0 评论 -
C++——变量的声明、定义
C++——变量的声明、定义与初始化一、变量的声明(declaration)声明用于向程序表明变量的类型和名字。声明跟定义的不同之处是在前面加了extern修饰符。如下:extern int i; // 声明变量i为int类型,但是没有分配存储空间。二、变量的定义定义用于为变量分配存储空间。定义也是声明,因为定义变量时声明了它的类型和名字。int i;定义的变原创 2012-03-22 10:08:50 · 615 阅读 · 0 评论 -
C++ 重载、覆盖(override)与隐藏
http://www.cppblog.com/erran/archive/2007/10/13/34128.aspx?opt=adminC++ 重载、覆盖(override)与隐藏稍微懂得点oop的人都知道重载,那是多态性的重要体现!可是在c++中你能分清成员函数的重载、覆盖吗?这个好像也不难,重载存在与同一个类中,而覆盖存在于派生类于基类中!可是如果再加上隐藏呢?说实转载 2012-04-19 19:58:05 · 552 阅读 · 0 评论 -
类的声明与定义
什么是类的声明与定义?一、变量的声明与定义很容易区分。声明只是告诉编译器有这么一个变量,但是没有为它分配空间;定义则是为该变量分配空间。所以变量可以重复声明,但是不能重复定义。那么,类的声明与定义又是什么呢?之前以为类的声明就是为类开辟一块空间;类的定义就是定义一个对象,也就是为对象分配空间。实际上,以上理解错误。二、类的声明与定义跟变量一样。1. 类的原创 2012-04-23 20:46:20 · 9065 阅读 · 0 评论 -
关于typedef的用法总结
不管实在C还是C++代码中,typedef这个词都不少见,当然出现频率较高的还是在C代码中。typedef与#define有些相似,但更多的是不同,特别是在一些复杂的用法上,就完全不同了,看了网上一些C/C++的学习者的博客,其中有一篇关于typedef的总结还是很不错,由于总结的很好,我就不加修改的引用过来了,以下是引用的内容(红色部分是我自己写的内容)。用途一:定义一种类型的别名,而不转载 2012-05-23 10:51:04 · 337 阅读 · 0 评论 -
C++ 类型修饰符
一、volatile volatile的作用: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值. 简单地说就是防止编译器对代码进行优化.比如如下程序: XBYTE[2]=0x55; XBYTE[2]=0x56; XBYTE[2]=0x57; XBYTE[2]=0x58;原创 2012-08-29 10:38:59 · 568 阅读 · 0 评论 -
gcc 的编译选项以及调试
gcc 的编译选项以及调试原创 2012-09-04 15:42:07 · 687 阅读 · 0 评论 -
三种new的区别
以下三种new符号的区别new, placement new, ::operator newmaclloc free原创 2012-09-06 10:56:09 · 585 阅读 · 0 评论 -
大端(Big Endian)与小端(Little Endian)详解
大端(Big Endian)与小端(Little Endian)详解【大端(Big Endian)与小端(Little Endian)简介】Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。 对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:(1) 它的地址是多少?(2) 它的字节在内存中是如何组织转载 2012-09-14 17:52:38 · 951 阅读 · 0 评论 -
memcpy 函数需要注意的事项
memcpy 函数需要注意的事项原创 2012-10-15 10:23:05 · 1735 阅读 · 1 评论 -
Secure Coding Best Practices for Memory Allocation in C and C++
Secure Coding Best Practices for Memory Allocation in C and C++By Richard Lewis,17 May 2006 3.02 (26 votes)12345转载 2012-12-25 21:16:07 · 716 阅读 · 0 评论 -
ISO C++ forbids declaration of ‘vector’ with no type
错误:ISO C++ forbids declaration of ‘vector’ with no type首先,这句话的意思是:ISO C++ 禁止声明 'vector'时不带类型。也就是说'vector'被认为是一个变量,但是没有类型。原因:本来vector就算STL里面的容器,怎么可能没有类型呢?其实是我没有引入头文件 #include 。两个原因造成错误1。 粗心大意没有原创 2013-01-09 01:44:02 · 7316 阅读 · 1 评论 -
typedef
一、typedef定义类型的同义词typedef int MY_INT;二、typedef 能不能重复定义?答案是可以。因为typedef没有定义新的类型,只是定义了类型的同义词。比如:typedef double Wages;typedef double Wages;三、typedef 定义的类型同义词是否可以作为声明?可以声明结构类型,类类型。那么可以声明原创 2012-03-22 19:59:28 · 469 阅读 · 0 评论 -
C++作用域总结
在C++中,涉及到作用域的语法很多,经常混淆。所以对作用域与作用域作一个总结,注意这个总结还不完整,当遇到新的语法时再继续补充。一、全局作用域(global scope)。概念:定义在函数外部的名字具有全局作用域。具有全局作用域的名字可以在整个程序中访问,即使不同文件也可以访问。二、如何访问全局作用域的变量?1. 变量在本文件中定义。直接访问。比如:原创 2012-03-22 09:40:44 · 1275 阅读 · 0 评论 -
C语言/C++中怎样产生随机数
转载:http://www.ezloo.com/2008/03/cc_random.htmlC语言/C++中怎样产生随机数C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就转载 2012-04-04 10:44:32 · 505 阅读 · 0 评论 -
C++的static关键字/包含C语言的static用法
本文转自http://www.360doc.com/content/07/0308/09/439_388751.shtml,略做修改。C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类,也就是C语言中的用法;后者主要说明static在类中的作用。一、面向过程设计中的static(C语言的static转载 2012-03-24 19:46:27 · 435 阅读 · 0 评论 -
C++覆盖成员变量、类变量
一。子类的成员变量不会覆盖父类。即使变量类型名称访问修饰符完全一样,也不会覆盖,而是两者都存在。只不过访问父类的变量时,需要使用类作用域。二。原创 2012-03-24 09:43:29 · 714 阅读 · 0 评论 -
C++ 类的成员的初始化
一、普通成员变量普通成员变量,不能在类声明中初始化。二、静态成员变量即类成员变量。这种变量也不能在类声明中初始化。三、静态常量整型数据成员静态常量整型数据成员可以在类的声明中初始化,而且只有这种变量可以在类的声明中定义。class Base{public: Base(){};private: int a; int b; static con原创 2012-03-24 21:06:35 · 471 阅读 · 0 评论 -
C++类的大小
一、类的大小与对象的大小类只是一种类型,没有大小可言。使用sizeof得到的大小,只是它的实例化对象的大小。所以类的大小与对象的大小是一样的。class Base{private: int a; int b;};void main(){ Base base; int objSize = sizeof(base); int classSize原创 2012-03-24 20:11:07 · 641 阅读 · 0 评论 -
C++覆盖成员变量、类变量
今晚提出了一个奇怪的问题,C++可以覆盖函数,但是能否覆盖成员变量、类变量吗?还有覆盖函数时,如果函数是非虚函数,那么当函数完全覆盖与不完全覆盖会出现什么问题?完全覆盖是指函数的签名完全相同,不完全覆盖是指函数名相同,但是函数参数不同。明天去上机实验。参照陈皓去内存地址的方法来做。另外,实验C++类的内存布局。类的大小,继承类的大小之间的关系;有虚拟继承和没有继承有什么区别?原创 2012-03-24 09:42:51 · 568 阅读 · 0 评论 -
C++调用C函数
前言:以前见到extern "C"这样的语句,只是简单地知道跟外部链接有关,但是没有深刻理解它的意思。首先,为什么要使用extern "C"修饰符?C++调用其它语言的函数,由于编译器生成函数的机制不一样,所以需要经过特殊处理,才可以调用。调用C语言的函数,需要在函数声明的地方语句extern "C"。如果不使用该语句,在链接的时候,编译器就会报以下这种错误。Tes原创 2012-03-24 09:41:42 · 482 阅读 · 0 评论 -
C语言变量类型的本质
C语言是强类型语言,定义变量时必须声明变量的类型,赋值的时候也只能是同种类型变量赋值。一。变量的类型告诉编译器怎么处理这个变量的数据。 虽然C语言是强类型语言,但是不同类型的变量通过类型转换也可以赋值,甚至指针变量可以转化为int类型,转化为char类型。从本质上来说,变量类型只是告诉编译器应该怎么处理这个变量,所以不同变量可以通过显示类型转换来赋值。理原创 2012-03-24 09:44:46 · 601 阅读 · 0 评论 -
继承的访问权限
继承的访问权限很特别,这里总结两点。一、private继承的对象不能赋予基类指针class Base{public: virtual void f(){cout << "Base:f()" << endl;}private: int a;};class Derived:private Base{public: void f(){cout << "Deriv原创 2012-03-28 14:13:34 · 670 阅读 · 0 评论 -
什么是复合类型
C++中,什么是复合类型?刚开始,还以为自定义的类是复合类型。查了C++ primer才知道复合类型不是类。在C++中类型大致可以分为三种一、内置类型如int, char, float, unsigned等。内置类型是最基本的类型。二、复合类型复合类型:使用其它类型定义的类型。有三种复合类型:引用,指针,数组。三、类类型就是类。比如string以及自己定义的类。原创 2012-03-28 20:31:25 · 9154 阅读 · 1 评论 -
C++什么情况会合成构造函数
C++里面,什么情况下编译器会自动合成构造函数?什么情况又会合成虚构函数?原创 2012-03-28 20:32:30 · 675 阅读 · 0 评论 -
C语言中printf格式化输出函数
转载:http://blog.csdn.net/xuefu2008/article/details/4645026这个博客还有一篇关于scanf输入函数的文章用 法: int printf(const char *format,[argument]); format 参数输出的格式,定义格式为: %[flags][width][.perc] [转载 2012-04-04 10:54:40 · 611 阅读 · 0 评论 -
C++写的split(string) 函数
source: http://guoxinmiao8.blog.sohu.com/102130312.html一个十分有用的标准C++写的split(string) 函数/******************************************** the tokenize function for std::string *************转载 2013-01-11 15:31:18 · 2555 阅读 · 0 评论