共 90 篇文章 |
|
C++中类型强制转换1 reinterpret_castreinterpret_cast 转换一个指针为其它类型的指针。代码:class Base {};class Derived : public Base {};Base *a = new Base;Derived *b = static_cast<Derived *>(a);static_cast 除了操作类型指针,也能用于执行类型定义的显式的转换,以及基础类型之间的标准转换:代码:double d = 3.14159265;i... 阅54 转0 评0 公众公开 15-11-05 10:19 |
/** * * 火星坐标系 (GCJ-02) to 84 * * @param lon * @param lat * @return * */ public static Gps gcj_To_Gps84(double lat, double lon) { Gps gps = transform(lat, lon); double lontitude = lon * 2 - gps.getWgLon(); double latitude = lat * 2 - gps.getWgLat(); return new Gps(latitude, lontitude); }Gps gcj02 = PositionU... 阅777 转9 评0 公众公开 15-08-31 09:42 |
因此,重载赋值运算符后的代码如下:class A{public: A() { } A(int id,char *t_name) { _id=id; name=new char[strlen(t_name)+1]; strcpy(name,t_name); } A& operator =(A& a)//注意:此处一定要返回对象的引用,否则返回后其值立即消失!username=new char[strlen(a.username)+1];=... 阅127 转0 评0 公众公开 15-08-03 16:08 |
构造ccc,实质上是ccc.CExample(aaa); 我们假如拷贝构造函数参数不是引用类型的话, 那么将使得 ccc.CExample(aaa)变成aaa传值给ccc.CExample(CExample ex),即CExample ex = aaa,因为 ex 没有被初始化, 所以 CExample ex = aaa 继续调用拷贝构造函数,接下来的是构造ex,也就是 ex.CExample(aaa),必然又会有aaa传给CExample(CExample ex), ... 阅39 转0 评0 公众公开 15-08-03 15:57 |
C,C++中使用可变参数(转)可变参数即表示参数个数可以变化,可多可少,也表示参数的类型也可以变化,可以是int,double还可以是char*,类,结构体等等。再介绍与它关系密切的三个宏要介绍下:va_start(),va_end()和va_arg()。再给出一个用可变参数来求和,遗憾的在C,C++中无法确定传入的可变参数的个数(printf()中是通过扫描''%'... 阅87 转1 评0 公众公开 15-05-20 19:23 |
VC 控制台颜色设置 (转)通常控制台都是白字黑底的,千篇一律不免单调。参数有:STD_INPUT_HANDLE,STD_OUTPUT_HANDLE及STD_ERROR_HANDLE。第一个参数为控制台standard input, standard output, or standard error的设备句柄。文字颜色 + 背景颜色 * 0x10 来设置控制台的颜色。默认情况下控制台的文字颜色是白色即用FOREGROUND_RED | FOREGROU... 阅97 转0 评0 公众公开 15-05-20 15:53 |
阅10754 转15 评0 公众公开 15-01-09 11:25 |
阅80 转1 评0 公众公开 14-11-12 13:53 |
HDC与CDC相互转换。关于HDC CDC首先:CDC 不可以释放. FromHandle 是通过 HDC 来创建了一个CDC 对象,以方便操作,释放 DC 的操作应该针对于HDC 而非此CDC , 如果释放了它 pDC->ReleaseDC,就会造成隐患. HDC hDC = GetDC(hWnd); CDC *pDC = CDC::FromHandle(hDC); 这两者是指向的一个DC对象,只能释放一次,而这个... 阅192 转0 评0 公众公开 14-08-11 16:16 |
阅162 转2 评0 公众公开 14-07-16 15:34 |