![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
sylvia:-)
一枚程序元
展开
-
C++模板
--------总结自《C++ Primer》定义: 模板就是参数化的类和函数,实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。 C++ 是一种“强类型”的语言,也就是说一个变量,编译器必须确切的知道它的类型,而模板就是构建在这个强类型语言基础上的泛型系统。 声明:模板函数template{函数定义}模板类templatecl转载 2013-02-25 19:38:25 · 230 阅读 · 0 评论 -
c++ noteII
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------判断..字转载 2013-02-25 19:33:24 · 268 阅读 · 0 评论 -
static,const和typedef关键字的几种用途
static关键字至少有下列n个作用: (1)函数体内static变量的作用范围为该函数体 ,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问; (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内; (4转载 2013-02-25 19:49:00 · 379 阅读 · 0 评论 -
多重继承
继承方式 公有继承--派生类的子类和派生类对基类的成员具有一样的访问权限 私有继承--基类的公有成员和保护成员,变成派生类的私有成员 保护继承--基类的公有成员和保护成员,变成派生类的保护成员 三种继承方式中的基类的私有成员在派生类中权限不变。 派生类的构造函数中,需要初始化基类和成员对象,即赋初值。 但是对于使用无参构造函数(这里的无参函数包括默认构造转载 2013-02-25 19:37:33 · 262 阅读 · 0 评论 -
C++ NEW的使用及 基类指针转换成派生类指针 及static_cast和dynamic_cast的说明
new的使用1. new() 分配这种类型的一个大小的内存空间,并以括号中的值来初始化这个变量;2. new[] 分配这种类型的n个大小的内存空间,并用默认构造函数来初始化这些变量; 3. 当使用new运算符定义一个多维数组变量或数组对象时,它产生一个指向数组第一个元素的指针,返回的类型保持了除最左边维数外的所有维数 new的三种使用方法(摘自--h转载 2013-02-25 19:34:55 · 1356 阅读 · 1 评论 -
构造函数、拷贝构造函数和析构函数的的调用时刻及调用顺序
对象是由“底层向上”开始构造的,当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的构造函数,依次类推,直至到达派生类次数最多的派生次数最多的类的构造函数为止。因为,构造函数一开始构造时,总是要调用它的基类的构造函数,然后才开始执行其构造函数体,调用直接基类构造函数时,如果无专门说明,就调用直接基类的默认构造函数。在对象析构时,其顺序正好相反。 下面简单介绍下这三个函数。构转载 2013-02-25 19:50:06 · 535 阅读 · 0 评论 -
GetMemory错误讲解(指针练习)
错误程序:void GetMemory( char *p ){ p = (char *) malloc( 100 );}void Test( void ) { char *str = NULL; GetMemory( str ); strcpy( str, "hello world" ); printf( “%s”,str );} 这个一个转载 2013-02-25 19:48:11 · 219 阅读 · 0 评论 -
C++类数据成员的初始化
[+]C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算 1.类里面的任何成员变量在定义时是不能初始化的。 2.一般的数据成员可以在构造函数中初始化。 3.const数据成员必须在构造函数的初始化列表中初始化。 4转载 2013-02-25 19:46:51 · 323 阅读 · 0 评论 -
c++建立DLL 及c# 调用
1,C++建立一个标准DLL在VC++中new一个Win32 Dynamic-Link Library工程,在建立的工程中添加lib.h及lib.cpp文件,[cpp] view plaincopy/* 文件名:lib.h */ #ifndef LIB_H #define LIB_H extern "C" int转载 2013-02-25 19:45:57 · 283 阅读 · 0 评论 -
解释与编译
用高级语言或汇编语言编写的程序称为源程序。计算机不能直接执行源程序,必须先把源程序翻译成为用"1"和"0"这两个机器代码表示的目标程序,即用机器语言编码的程序。语言处理就是将源程序翻译成目标程序。翻译方式一般分为编译和解释两种。 区别: 一:执行速度 编译是把源代码全部转换为可以直接执行的指令,从而程序运行速度比较快。 解释是把当前行的代码转换转载 2013-02-25 19:44:34 · 285 阅读 · 0 评论 -
内联函数/回调函数/仿函数(functor)-------(c++)
回调函数 回调函数就是一种利用函数指针进行函数调用的过程. 而那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作。 应用程序提供给Windows系统DLL或其它DLL调用的函数,一般用于截获消息、获取系统信息或处理异步事件。应用程序把回调函数的地址指针告诉DLL,而DLL在适当的时候会调用该函数。(一般为标转载 2013-02-25 19:39:36 · 765 阅读 · 0 评论 -
彻底搞定C指针-函数名与函数指针
(转自)http://blog.pfan.cn/whyhappy/6030.html 函数名与函数指针一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){转载 2013-02-25 19:40:46 · 246 阅读 · 0 评论 -
XML
本文用一个详细的例子说明了TiXml的使用方法。如写、查找、插入、替换、加载、遍历等常见操作。首先简单介绍一下TinyXml,要看详细的在网上搜搜了^_^:TinyXML是一个简单小巧,可以很容易集成到其它程序中的C++ XML解析器。简单地说,TinyXML解析一个XML文档并由此生成一个可读可修改可保存的文档对象模型(DOM)。TinyXML使用文档对象模型(DOM),这意味着转载 2013-03-29 13:56:26 · 532 阅读 · 0 评论