2012年9月26日

标准C++中的string类的用法总结

摘要: 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用。但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的。也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法。其实,可能很多人很可能会忽略掉标准C++中string类的使用。标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖引玉的作用吧,好了,废话少说,直接进入正题吧!要想使用标准C++中string类,必须要包含#i 阅读全文

posted @ 2012-09-26 16:38 -冷夜- 阅读(185) 评论(0) 推荐(0)

2012年9月18日

C/C++数组名与指针区别深入探索

摘要: 转之:http://soft.yesky.com/242/2082242.shtml引言 指针是C/C++语言的特色,而数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。很幸运,我的大学老师就是其中之一。时至今日,我日复一日地进行着C/C++项目的开发,而身边还一直充满这样的程序员,他们保留着"数组名就是指针"的误解。 想必这种误解的根源在于国内某著名的C程序设计教程。如果这篇文章能够纠正许多中国程序员对数组名和指针的误解, 阅读全文

posted @ 2012-09-18 15:03 -冷夜- 阅读(184) 评论(0) 推荐(0)

error C2662, cannot convert ‘this’ pointer from

摘要: error C2662, cannot convert ‘this’ pointer from ‘const class ’ to ‘class &’看一下导致这个编译错误的例子:class COwnInt{public:int get();private:int m_n;};int COwnInt::get(){return m_n;}int main(){const COwnInt own;own.get();return 0;}这个编译错误的主要原因是:程序中定义了一个const的类对象own,然后又用own调用了一个非const的函数get()。由于const对象在调用成员函数 阅读全文

posted @ 2012-09-18 10:59 -冷夜- 阅读(373) 评论(0) 推荐(0)

2012年9月17日

C++中数组参数详解

摘要: 在C++中,数组永远不会按值传递。它是传递第一个元素(准确地说是第0个)的指针。例如,如下声明: void putValues(int[10]);被编译器视为: void putValues(int*);数组的长度与参数声明无关。因此,下列三个声明是等价的: void putValues(int*); void putValues(int[]); void putValues(int[10]);因为数组被传递为指针,所以这对程序员有两个含义:1、在被调函数内对参数数组的改变将被应用到数组实参上而不是本地拷贝上。当用作实参的数组必须保持不变时,程序员需要保留数组的拷贝。函数可以通过把参数类型声明 阅读全文

posted @ 2012-09-17 17:32 -冷夜- 阅读(531) 评论(0) 推荐(0)

2012年9月13日

关于c_str( )

摘要: 原文地址:关于c_str()作者:Jae_Joong c_str() 是c++ 中 string类 (class) 的 函数,它能把 string类 的对象里的字符串 转换成 C 中 char 型变量的字符串。c_str()返回了一个指向常量数组的指针,例如: string s1 = "hello"; constchar* str= s1.c_str(); 由于c_str函数的返回值是const char* 的,若想直接赋值给char*,就需要我们进行相应的操作转化,下面是这一转化过程。需要注意的是,操作c_str()函数的返回值时,只能使用c字符串的操作函数,如:strc 阅读全文

posted @ 2012-09-13 15:59 -冷夜- 阅读(953) 评论(0) 推荐(0)

strcpy和memcpy的区别

摘要: strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。void *memcpy( void *dest, const void *src, size_t count );char * strcpy(char * dest, const char * src) // 实现 阅读全文

posted @ 2012-09-13 15:47 -冷夜- 阅读(314) 评论(0) 推荐(0)

深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p

摘要: 深入理解const char*p,char const*p,char *const p,const char **p,char const**p,char *const*p,char**const p一、可能的组合:(1)const char*p(2)char const*p(3)char *const p(4)const char **p(5)char const**p(6)char *const *p(7)char **const p当然还有在(5)、(6)、(7)中再插入一个const的若干情况,不过分析了以上7中,其他的就可类推了!二、理解助记法宝:1。关键看const 修饰谁。2。由 阅读全文

posted @ 2012-09-13 15:02 -冷夜- 阅读(286) 评论(0) 推荐(0)

2012年9月12日

strlen与sizeof区别

摘要: #include "stdio.h"#include "string.h"void main(){char aa[10];printf("%d",strlen(aa));printf("%d",sizeof(aa));}程序运行得到结果是strlen(aa)=15.sizeof(aa)=10;这是怎么回事呢?strlen是有效字符串的长度,不包含‘\0’,与初始化有关系,而sizeof与初不初始化没有关系。下面我们看看它们的区别吧(以下都是在网上查的)strlen(char*)函数求的是字符串的实际长度,它求得方法 阅读全文

posted @ 2012-09-12 13:41 -冷夜- 阅读(208) 评论(0) 推荐(1)

2012年9月11日

在Visual C++ 中使用内联汇编

摘要: 一、 优点 使用内联汇编可以在 C/C++ 代码中嵌入汇编语言指令,而且不需要额外的汇编和连接步骤。在 Visual C++ 中,内联汇编是内置的编译器,因此不需要配置诸如 MASM 一类的独立汇编工具。这里,我们就以 Visual Studio .NET 2003 为背景,介绍在 Visual C... 阅读全文

posted @ 2012-09-11 17:21 -冷夜- 阅读(3778) 评论(0) 推荐(0)

2012年9月10日

你不知道的左右手坐标系

摘要: 转之:http://www.cnblogs.com/hust-ruan/archive/2011/12/09/2282035.html左右手坐标系众所周知,OpenGL使用的是右手坐标系,而Direct3D使用的是左手坐标系。除了上面Z轴的方向不一样外,左右手坐标系的还有其他区别:正向旋转方向:在左手系中用Left-Hand Rule判别,正方向是顺时针方向。在右手系中,用Right-Hand Rule判别,是逆时针方向。叉积的方向:在右手坐标系中,叉积的方向通过Right-Hand Rule确定,而在左手坐标系中,叉积的方向则由Left-Hand Rule 确定。World Space 坐标 阅读全文

posted @ 2012-09-10 09:42 -冷夜- 阅读(643) 评论(0) 推荐(0)

导航