c++学习
SmallStrongStone
这个作者很懒,什么都没留下…
展开
-
c++学习(一):string/char[]/char* 是不是以'\0'结尾
从事C++编程已经三年有余,至今仍有一些基础性的知识不是很清楚。工作学习之余,做一下总结。问题提出: 工作中经常遇到 int paramname_offset = strlen( param_name.c_str() ) + 1; CopyMemory((char*)pBuf, param_name.c_str(), param原创 2016-11-22 18:57:58 · 12038 阅读 · 4 评论 -
c++学习(二):传值与传址
什么是传值,什么是传址?网上答案五花八门。今天做一下简单的实验。1.传值:int _tmain(int argc, _TCHAR* argv[]){ int x = 2; int y = 3; swap1(x, y); x; y; return 0;}void swap1(int a, int b) {原创 2016-11-22 19:16:21 · 272 阅读 · 0 评论 -
c++学习(三):如何用指针传递
如何通过函数调用传递指针 :1. 指针作为input. 此种情况下,myresult 必须是一个已经new 出来的指针。这样该指针才指向合理的内存空间。在被调用函数中,对myresult指向的内容做修改。int _tmain(int argc, _TCHAR* argv[]){ double *myresult = NULL; myresult = ne原创 2016-11-22 20:37:26 · 633 阅读 · 0 评论 -
c++学习(四):数组作为函数input
1.一维数组作为function input.nt _tmain(int argc, _TCHAR* argv[]){ double myresult[5]; getresult(myresult, 5); return 0;}int getresult(double myresult[], int size1){for(int i=0原创 2016-12-03 13:12:54 · 1156 阅读 · 0 评论 -
c++学习(五):new char[]的赋值
1.strcpy2.memcpy3.不能直接赋值为字符串常量。原创 2016-12-03 13:48:07 · 15314 阅读 · 0 评论 -
C++学习(六):函数模板&函数模板
相对于类模板来说,工作中用到函数模板更多一些。(1)函数模板template T* newT(int size){ if (size>0) { T* test = new T[size]; return test; } else { return NULL; }}原创 2016-12-24 16:02:18 · 368 阅读 · 0 评论 -
C++学习(八):Visual studio 2005 C++ MSXML使用示例
#include "stdafx.h"#include #include void parserxml() { HRESULT hr = NULL; VARIANT var; V_VT(&var) = VT_BSTR; // COM库初始化 CoInitialize(NULL); //转载 2017-01-14 14:02:15 · 660 阅读 · 0 评论 -
c++学习(七):宏定义函数与内联函数
a.宏定义函数:优点:提高了程序的可读性,同时也方便进行修改;提高程序的运行效率:使用带参的宏定义既可完成函数调用的功能,又能避免函数的出栈与入栈操作,减少系统开销,提高运行效率;缺点:由于是直接嵌入的,所以代码可能相对多一点;嵌套定义过多可能会影响程序的可读性,而且很容易出错;对带参的宏而言,由于是直接替换,并不会检查参数是否合法,存在安全隐患。不能deb原创 2016-12-24 17:07:24 · 425 阅读 · 0 评论 -
C++学习(九)使用LargeAddressAware扩展程序内存地址空间
http://blog.csdn.net/lff0305/article/details/7613741一般情况下,无论在32位系统还是64位系统下,一个Win32用户进程可用的内存空间只有2GB少一点。那么,假设一个Win32程序内存不够用了,又不想(或者没办法)编译成X64的,怎么办呢,MS提供了一种方法,Linker中的LargeAddressAware参数。启用它,可以获得额外转载 2017-03-17 19:09:09 · 3045 阅读 · 0 评论