博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C++

C++基础知识
摘要:http://xuzinuo.com/archives/217一、创建新的动态链接库(DLL)项目从“File”菜单中,选择“New”,然后选择“Project…”。如下图:在“项目类型”窗格中,选择“Visual C++”下的“Win32”。在“模板”窗格中,选择“Win32 Console Application”。为项目选择一个名称,如 MathFuncsDll,并将其键入“Name:”字段。 为解决方案选择一个名称,如 DynamicLibrary,并将其键入“Solution Name:”字段。如下图:单击“OK”启动 Win32 应用程序向导。 在“Win32 应用程序向导”对话框 阅读全文

posted @ 2012-12-26 19:14 星尘的天空 阅读(674) 评论(0) 推荐(0)

摘要:C++文件添加到项目中2012年12月26日C++中的,h和Cpp文件在工程中的组织方式是和Xcode中的不一样,在C++工程中,如果你在项目中创建了一个文件,不管你是否将这个文件添加到工程中,那么他都是存在的,并且存在作用的,但是Xcode中是不一样的,在Xcode中,如果你不将文件添加到项目中,那么该文件是不会起任何作用的。这也就是为什么,我们有的时候在工程中找不到头文件,但是该头文件仍然起着作用的原因。THE END!2012年12月26日 阅读全文

posted @ 2012-12-26 17:18 星尘的天空 阅读(559) 评论(0) 推荐(0)

摘要:C++头文件的重复引用就有点类似于钻石继承(菱形继承) 比如有 a.h b.h c.h和d.h四个头文件 其中,b和c需要#include"a.h" 而d需要#include"b.h" #include"c.h" 这样编译的时候肯定会报错,因为d包含了两次a.h.C++工程的预编译就是将引用文件的代码拷贝过来,就如上面所说:在预编译的时候,d.h的文件,会将b,c文件的代码拷贝过来,但是,b,c文件都引用了a文件,这样,理论上,d文件中就会包含两份a文件的代码,这样,在编译的时候就会报错,因此我们需要使用#ifndef #end if 阅读全文

posted @ 2012-12-25 10:31 星尘的天空 阅读(2997) 评论(0) 推荐(0)

摘要:link address:http://blog.sina.com.cn/s/blog_686188ef0100klku.html#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。1 #define命令剖析1.1 #define的概念#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被 阅读全文

posted @ 2012-12-19 11:40 星尘的天空 阅读(563) 评论(0) 推荐(0)

摘要:C++的引用C++中的引用可以看成是变量名称的另一种说话,也看以看成是变量的外号,另一个名称,取值方式 &int a = 100;int &aa = a;//定义一个int型的应用,他是变量a的引用在这里,a、以及aa 所指向的内存中的地址是同一块的地址,也就是说,他们指向同一块内存,存储着相同的数据。应用就像中国古代的女人,一旦嫁给了某一个人,就会跟他一辈子,因此假如你定义了某个变量的别名,那么该别名就永远属于这个变量,它会忠心耿耿的跟随这个变量,即使中间有别的变量来收买他,他也不会更换自己的主人,不过他会手下收买他的金钱,从而导致他的主人也受牵连。因此,应用也可以看做是别名 阅读全文

posted @ 2012-12-15 12:08 星尘的天空 阅读(121) 评论(0) 推荐(0)

摘要:指针是什么::指针就是用来保存内存地址的变量如果定义一个指针:int *indicator;//indicator就表示定义一个指向int型变量的指针。int i = 100;int *b;b = &i;//读取变量i在内存中的地址,然后保存在指针变量b中。*************************************************我们知道指针就是用来保存内存地址的变量,因此我们定义了一个指针就一定要用它来保存一个内存地址,假如我们不那么做,那么这个指针就是一个失去控制的指针,它可以指向任何的地址,并且对该地址的数据进行修改或者删除,后果是非常可怕的,解决的方法就 阅读全文

posted @ 2012-12-13 18:31 星尘的天空 阅读(219) 评论(0) 推荐(0)

摘要:假如我们不自己定义一个构造函数,那么系统就会为我们创建一个默认的构造函数,这个构造函数没有任何参数也不执行任何的动作,也就是说,当我们创建一个类的时候,这个类一定会有一个构造函数,要么是我们创造的构造函数,要么是系统给我们创建的一个没有任何功能,不带任何参数的构造函数。这个由系统帮我们创建的构造函数就是类的默认构造函数。THE END!2012年12月13日 阅读全文

posted @ 2012-12-13 15:53 星尘的天空 阅读(191) 评论(0) 推荐(0)

摘要:我们可以创建两个文件,一个是头文件和一个源文件,其中头文件使用.h作为后缀名称,使用.cpp作为源文件的后缀名称:在.cpp源文件添加 #include "headerfile.h" 来关键两个文件。但是为什么要区分为两个文件呢?我们分明可以将所有的类的代码写到同一个.h文件内。 这是因为在大多数情况下,类的使用者并不关心类在程序中实现的细节,他们只要阅读头文件就可以知道所有关于类的信息,因此他们可以忽略实现文件,另外,将类的定义和类的实现部分分开,一个.h文件可以被多个.cpp文件调用。THE END!2012年12月13日 阅读全文

posted @ 2012-12-13 15:40 星尘的天空 阅读(320) 评论(0) 推荐(0)

摘要:内联函数:一般来说,当我们定义了一个函数之后,编译器就会在内存中为其创建一个指令集,当我们调用该函数的时候,程序就会跳转到该函数处。当该函数运行完毕后,程序又返回到原来执行调用该函数的下一行继续执行。加入对该函数执行了上百次的调用,那么就要来回跳转上百次,很明显这是相当影响程序执行效率的。对此C++有一种解决的方式,即使用关键字inline来声明函数。编译器将不会生成真正的函数,而只是将这个内联函数的所有代码拷贝到调用函数中去,这样程序在执行调用该函数的时候就不需要来回跳转,自然就会提高了程序的运行效率。但是任何的事情都会有两面性,使用内联函数在提高效率的同时,也会付出一些代价,比如说程序调用 阅读全文

posted @ 2012-12-13 15:29 星尘的天空 阅读(214) 评论(0) 推荐(0)

摘要:int 型变量int 型和long型的区别long型占用4个字节,共4*8= 32 位int型在内存系统中的大小在16位操作系统中占据2个字节,在32位操纵系统中占据4个字节,int类型的长度并不确定,他和系统平台有关,但是long型数据变量占据4个字节,这个跟操作系统没有关系。但是现在16位的操作系统已经基本淘汰,所以说int型和long型已经没有什么却别了,短整型的变量 short int 占据2个字节 阅读全文

posted @ 2012-12-13 12:35 星尘的天空 阅读(552) 评论(0) 推荐(0)

摘要:变量:int a;//定义一个变量a = 100;//给变量a赋值int a =1;//定义变量a,并初始化a的值C++里面的变量其实就是一个内存中的地址,但是只有这个变量被赋值后或者初始化的时候,这个变量才代表内存中的地址。int a = 100;当计算机运行到上面的代码行的时候,就会在计算机内分配一段内存,然后将100这个值保存到这个内存中,并将这个内存的地址保存在变量a中,也就是说a其实就是数值100在内存中存在的地址,当sdt::cout<<a;的时候,就是根据a所代表的计算机内存地址,找到存到在这个地址中的数值,然后显示出来。ps:定义一个变量的时候,系统就会为该变量分配 阅读全文

posted @ 2012-12-13 11:07 星尘的天空 阅读(257) 评论(0) 推荐(0)