随笔分类 -  c++

摘要:原文地址:关于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 冷夜 - 网游编程技术 阅读(795) 评论(0) 推荐(0) 编辑
摘要: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 冷夜 - 网游编程技术 阅读(295) 评论(0) 推荐(0) 编辑
摘要:深入理解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 冷夜 - 网游编程技术 阅读(263) 评论(0) 推荐(0) 编辑
摘要:#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 冷夜 - 网游编程技术 阅读(188) 评论(0) 推荐(1) 编辑
摘要:转之:http://blog.csdn.net/tanghw/article/details/6554538本文需要解决C++中关于数组的2个问题:1. 数组作为函数参数,传值还是传址?2. 函数参数中的数组元素个数能否确定?先看下面的代码。#include <iostream>using namespace std;void testArrayArg(int a[]){ cout << endl; cout << "in func..." << endl; cout << "array address: 阅读全文
posted @ 2012-08-22 14:41 冷夜 - 网游编程技术 阅读(13667) 评论(1) 推荐(2) 编辑
摘要:第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *pb;也可行,但相对来说没有用typedef的形式直观,尤其在需要大量指针的地方,typedef的方式更省事。用途二:用在旧的C的代码中(具体多旧没有查),帮助struct。以前的代码中,声明struct新对象 阅读全文
posted @ 2012-08-21 14:05 冷夜 - 网游编程技术 阅读(447) 评论(0) 推荐(1) 编辑
摘要:标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子,用来初始化rand()的起始值。可以认为rand()在每次被调用的时候,它会查看:1)如果用户在此之前调用过srand(seed),给seed指定了一个值,那么它会自动调用srand(seed)一次来初始化它的起始值。2)如果用户在此之 阅读全文
posted @ 2012-08-21 10:09 冷夜 - 网游编程技术 阅读(45225) 评论(0) 推荐(2) 编辑
摘要:lib是和dll对应的。 lib是静态的库文件,dll是动态的库文件。 所谓静态就是link的时候把里面需要的东西抽取出来安排到你的exe文件中,以后运行 你的exe的时候不再需要lib。 所谓动态就是exe运行的时候依赖于dll里面提供的功能,没有这个dll,你的exe无法运 行。 lib, dll, exe都算是最终的目标文件,是最终产物。而c/c++属于源代码。源代码和最终 目标文件中过渡的就是中间代码obj,实际上之所以需要中间代码,是你不可能一次得到目 标文件。比如说一个exe需要很多的cpp文件生成。而编译器一次只能编译一个cpp文件。这 样编译器编译好一个... 阅读全文
posted @ 2012-08-14 13:18 冷夜 - 网游编程技术 阅读(418) 评论(0) 推荐(0) 编辑
摘要:转之:http://blog.csdn.net/swort_177/article/details/5426848在Windows世界中,有无数块活动的大陆,它们都有一个共同的名字——动态链接库。现在就让我们走进这些神奇的活动大陆,找出它们隐藏已久的秘密吧! 初窥门径:Windows的基石 随便打开一个系统目录,一眼望去就能看到很多扩展名DLL的文件,这些就是经常说的“动态链接库”,DLL是Dynamic Link Library(即“动态链接库”)的缩写。从Microsoft公司推出首个版本的Windows以来,动态链接库就一直是这个操作系统的基础。 1.看看DLL里有什么 ... 阅读全文
posted @ 2012-08-13 17:44 冷夜 - 网游编程技术 阅读(419) 评论(0) 推荐(0) 编辑
摘要:进程文件: mscorsvw.exe 进程名称: .NET Runtime Optimization Service 英文描述: mscorsvw.exe is a process belonging to Microsoft .NET Framework. This program is a non-essential process, but should not be terminated unless suspected to be causing problems. 进程分析: MicrosoftVirtulStdio2005Framework预编译工具。 进程位置: ... 阅读全文
posted @ 2012-08-13 11:16 冷夜 - 网游编程技术 阅读(430) 评论(0) 推荐(0) 编辑
摘要:以下是C++程式语言中的所有运算子的优先级和结合性列表。优先级运算子叙述示例重载性结合性1::作用域解析(C++专有)Class::age = 2;否由左至右2++后缀递增i++--后缀递减i--{}组合{i++;a*=i;}()函数调用或变量初始化c_tor(int x, int y): _x(x), _y(y * 10) {}[]数组访问array[4] = 2;.以对象方式访问成员obj.age = 34;否->以指针方式访问成员ptr->age = 34;dynamic_cast运行时检查类型转换(C++专有)Y& y = dynamic_cast<Y& 阅读全文
posted @ 2012-08-02 11:10 冷夜 - 网游编程技术 阅读(4624) 评论(0) 推荐(1) 编辑
摘要:ANSI C/C++ 基本数据类型:Type Size 数值范围 无值型 void 0 byte 无值域 布尔型 bool 1 byte true false 有符号短整型 short [int] /signed short [int] 2 byte -32768~32767 无符号短整型 unsigned short [int] 2 byte 0~65535 有符号整型 int /signed [int] 4 byte -2147483648~2147483647 无符号整型 unsigned [int] 4 byte 0~4294967295 有符号长整型 long [int]/sign. 阅读全文
posted @ 2012-08-02 09:39 冷夜 - 网游编程技术 阅读(1154) 评论(0) 推荐(0) 编辑
摘要:QueryPerformanceFrequency( __out LARGE_INTEGER *lpFrequency ); //返回定时器的频率BOOL QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount);//是返回定时器当前计数值代码://///////////////////////////////////////////////#include <iostream>#include <windows.h>using namespace std;/////////////////////////// 阅读全文
posted @ 2012-07-30 13:11 冷夜 - 网游编程技术 阅读(471) 评论(0) 推荐(0) 编辑
摘要:ASCII码对照表 目前计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码),它已被国际标准化组织(ISO)定为国际标准,称为ISO 646标准。适用于所有拉丁文字字母,ASCII码有7位码和8位码两种形式。 因为1位二进制数可以表示(21=)2种状态:0、1;而2位二进制数可以表示(22)=4种状态:00、01、10、11;依次类推,7位二进制数可以表示(27=)128种状态,每种状态都唯一地编为一个7位的二进制码,对应一个字符(或控.. 阅读全文
posted @ 2012-07-28 16:18 冷夜 - 网游编程技术 阅读(38757) 评论(1) 推荐(0) 编辑
摘要:内存分配方式有三种: [1] 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量, static 变量。 [2] 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中 ,效率很高,但是分配的内存容量有限。 [3] 从堆上分配,亦称动态内存分配 。程序在运行的时候用 malloc 或 new 申请任意多少的内存,程序员自己负责在何时用 free 或 delete 释放内存。动态内存的生存期由程序员决定 ,使用非常灵活,但如果在堆上分配了空间,就有责任回收它 阅读全文
posted @ 2012-07-28 16:15 冷夜 - 网游编程技术 阅读(953) 评论(0) 推荐(0) 编辑
摘要:要了解vc中使用#include命令包含头文件所搜寻的路径,必须先了解vc中的几种路径:1. 系统路径系统路径在vc中是"Tools->Options->Directories"中"Include files"指定的路径。打开此对话框会发现默认有这几条路径:C:\Program Files\Microsoft Visual Studio\VC98\INCLUDEC:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDEC:\Program Files\Microsoft Visual S 阅读全文
posted @ 2012-07-28 16:13 冷夜 - 网游编程技术 阅读(347) 评论(0) 推荐(0) 编辑
摘要:#include<Windows.h>#include<windowsx.h>#include <string.h>#include <cstdio>#include "enginApp.h"//#include "resource.h"using namespace std;#define WCLASSNAME "WindowClassName"#define WINDOW_WIDTH 800#define WINDOW_HEIGHT 600#define COLOR_BPP 32HD 阅读全文
posted @ 2012-07-28 10:59 冷夜 - 网游编程技术 阅读(1098) 评论(0) 推荐(0) 编辑