
C++基础
文章平均质量分 96
瓦力冫
喜欢看点书,跑跑步,热爱游戏编程
展开
-
C++ 基础之 "重载操作符"
在学习3D中的数学时涉及到了向量相加等非常基础的东西,把数学转换成C++代码来显示,用了一个Vector3类,里面使用了大量的重载操作符,找了本C++基础书看了下,记录在这里。重载操作符是具有特殊名称的函数,保留字operator后接需定义的操作符符号,像其他函数一样,具有返回类型和形参表。比如下面的语句:Vector3 operator+(const Vector3 & a);可以重原创 2012-11-04 08:59:00 · 1608 阅读 · 0 评论 -
C++ 宏 ##用法
##表示:把宏参数名与宏定义代码序列中的标识符连接在一起,形成一个新的标识符#define test1(i) test(x##i) int main() { int x1=1, x2=2, x3=3; test1(1); // 相当于 test(x1) test1(2); // 相当于原创 2015-09-22 11:05:08 · 3439 阅读 · 0 评论 -
C++基础之全局变量
C++的水比较深,之前我一直以为C++的全局变量会像其他语言一样,非常简单只要在头文件中,定义一个变量即可,比如下面的test.h:#ifndef _TEST_H#define _TEST_Hint a = 10;#endif我都加上头文件保护符,总应该没有多重包含的问题了吧?没想到多个cpp文件引用同个头文件还是狂报错:error LNK2005 a 已经在 xx.obj中定义。又拿起原创 2014-07-28 09:17:22 · 2084 阅读 · 0 评论 -
C++ 中的Virtual Function (虚函数)
1.C++ Virtual 用法这里只讲语法,因为讲原理比较难。还没有涉及到构造函数。那么就直接上代码了:// VitualFunction.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include using namespace s原创 2014-03-17 09:22:12 · 3616 阅读 · 0 评论 -
C++ Copy Constructor (拷贝构造函数,复制构造函数)
1.什么是Copy Constructor?Copy Constructor 是一个特殊的构造函数,一般只有一个参数,这个参数一般是用const修饰的,对自己类的一个引用(reference)。什么时候会用到Copy Constructor?当我们定义一个对象时,它是由另外一个对象来初始化的时候就用到Copy Constructor了。还有就是在一个方法以值作为参数传进去或原创 2014-03-14 08:12:53 · 25036 阅读 · 14 评论 -
来谈谈C++ 位运算 & | << >> ^ ~ %
老实说,我对+ = * / % && || ==一些比较简单的运算符比较熟悉。对位运算就陌生了,主要用的少。我觉得高手用的会比较多,因为位运算速度比较快。1.&如果两个相应的二进制位都为1,则该位的结果值为1;否则为0。注:下面都用8位的 unsigned char 来做例子。&简单举例:11&3 = 3 00001011&原创 2014-03-07 20:43:45 · 28984 阅读 · 2 评论 -
C++ 函数指针 函数名作为参数
1.函数指针声明typedef 返回类型(*函数指针类型名)(函参列表);例子:typedef int (*pf)(const int& a,const int& b);2.demo// MethodPoint.cpp : Defines the entry point for the console application.//#in原创 2013-11-30 21:48:17 · 3287 阅读 · 0 评论 -
C++ 载入dll
如何使用C++载入dll原创 2013-08-30 21:25:22 · 2334 阅读 · 0 评论 -
C++ write constructors using a constructor initializer 构造函数 初始化数据
C++‘s constructor is different than java or C#.A C++ constructor like any other function, has a name, a parameter list, and a function body. Unlike other functions, a C++ constructor may also contai原创 2013-06-09 16:54:42 · 1981 阅读 · 0 评论 -
STL Vector
IntroductionWe speak of a Vector as a container because it contains other objects. All objects in a container must have the same type.To use a Vector, we must include the appropriate header.原创 2013-02-14 20:01:50 · 1267 阅读 · 0 评论 -
C++基础之 "内联函数"
想看下内联函数跟普通函数外观有什么区别//内联函数定义inline int sum(int a,int b){ return a + b;}//普通函数定义int sum1(int a,int b){ return a + b;}多了inline关键词。想起之前写C语言,把一些重复做的事情封装成一个函数,真是很大的进步。但是他们说调用函数比直接代码要慢些。内联函数有什么好处呢原创 2012-12-03 13:53:27 · 1480 阅读 · 0 评论 -
C++ 基础之 "引用形参" 和 "利用const引用避免复制" &
之前两篇文章里的两个函数如下所示://重载操作符+ Vector3 operator+(const Vector3 &a){ return Vector3(x + a.x,y + a.y,z+a.z); }//比较两个数,如果相同返回0,如果v1大,返回1,如果v2大,返回-1 int compare(const int &v1, co原创 2012-12-01 11:26:40 · 2719 阅读 · 1 评论 -
C++ 基础之 "模版函数","类模版"
看一些C++代码看到T符号就头痛,不知道怎么用。看了下书,记录在这里。1.模版函数如果要编写一个函数比较两个数并指出第一个数是小于,等于还是大于第二个数。我们可能会定义下面的函数,如果有几种类型,我们可能会定义几个重载函数。//比较两个数,如果相同返回0,如果v1大,返回1,如果v2大,返回-1int compare(const int &v1, co原创 2012-11-07 17:35:08 · 1620 阅读 · 1 评论 -
c++ 用宏定义一个函数
#define MAX(a,b) ((a)>(b)?(a):(b))要点:变量都用括号括起来,防止出错,结尾不需要;。在实际编程中,不推荐把复杂的函数使用宏,不容易调试。多行用\#define CREATE_FUNC_TYPE(__TYPE__,__PARAM__) \ static __TYPE__* create(__PARAM__ para) \{ \ __TYPE__ *pRet =原创 2015-09-22 11:20:20 · 10587 阅读 · 0 评论