C++
questionhahaha
这个作者很懒,什么都没留下…
展开
-
字符数组结束符'0'的问题
字符数组结束符’\0’的问题char str[10]={ ‘I’,’ ‘,‘a’,‘m’,’ ‘,‘h’,‘a’,‘p’,‘p’,‘y’};如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 ‘\0’ );如刚好等于,编译器也不会报错,但不安全,应由程序员把握。char str[ ]={“I am ...原创 2018-12-04 01:15:59 · 8839 阅读 · 4 评论 -
C和C++程序的内存分配机制
程序的内存分配一:C语言中的内存机制在C语言中,内存主要分为如下5个存储区:(1)栈(Stack):位于函数内的局部变量(包括函数实参),由编译器负责分配释放,函数结束,栈变量失效。(2)堆(Heap):由程序员用malloc/calloc/realloc分配,free释放。如果程序员忘记free了,则会造成内存泄露,程序结束时该片内存会由OS回收。(3)全局区/静态区(Global S...原创 2019-04-22 22:46:57 · 612 阅读 · 0 评论 -
五层协议的体系结构
五层协议的体系结构从上到下分为:应用层: 应用层的任务是通过应用进程的交互来完成特定网络应用。应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序。对于不同的网络应用需要有不同的应用层协议。在因特网中的应用层协议很多。例如支持万维网应用的 HTTP 协议,支持电子邮件的 SMTP 协议,支持文件传送的 FTP 协议,等等。应用层交互的数据单元叫报文。运输层:...原创 2019-04-15 23:23:18 · 1908 阅读 · 0 评论 -
CC++ 字节对齐问题
C/C++ 字节对齐问题对齐用法详解什么是对齐,以及为什么要对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些...原创 2019-02-20 00:19:25 · 267 阅读 · 0 评论 -
内联函数:
内联函数:内联函数的定义: 将函数指定为内联函数(inline),通常就是将它在每个调用点上“内联地”展开(有时编译器根据函数的定义体,自动地取消不值得的内联),函数的代码被放入符号表中,在使用时直接进行替换(像宏一样展开),没有了调用的开销。效率更高。内联函数与宏的区别:内联函数在编译时展开,宏在预编译时展开。在编译时,内联函数可以直接被嵌入到目标代码中,而宏只是一个简单的文...原创 2019-02-19 22:51:45 · 1967 阅读 · 0 评论 -
指针的算术运算
指针的算术运算指针二点算术运算分为两种:指针 ± 整数当一个指针和一个整数量执行算术运算时,整数在执行加减法运算前始终会根据合适的大小进行调整。这个“合适的大小”就是指针所指向类型的大小。例如:int* a; int* b = a+1; 则 b - a = sizeof(int)char* a; char* b = a+1; 则 b - a = sizeof(char)# inc...原创 2019-02-21 23:52:42 · 197 阅读 · 0 评论 -
CString用法
CString用法头文件 <afx.h>成员函数:CString类的构造函数CString(const CString& stringSrc);解释: 将一个已经存在的CString对象stringSrc的内容拷贝到该CString对象。例子: CString str1(_T(jizhuomi)); // 将常量字符串拷贝到str1 CStrin...原创 2018-12-09 23:02:18 · 497 阅读 · 0 评论 -
WideCharToMultiByte字符串后面有乱码
错误做法:WideCharToMultiByte(CP_ACP,0,strInput,strInput.GetLength() ,p,len ,NULL,NULL);正确做法:WideCharToMultiByte(CP_ACP,0,strInput,strInput.GetLength() + 1,p,len + 1,NULL,NULL);或者:WideCharToMulti...原创 2018-08-29 16:29:19 · 1620 阅读 · 0 评论 -
关于VC的字符集
关于VC的字符集宽字符集(每两个字节表示任意一个字符)例如:“ABC”占6个字节,“呵呵ABC”占10个字节(这中间有5个字符,每个字符占2个字节,结果就是 5×2 = 10)。多字节字符集(就是一个或多个字节表示一个任意字符)例如:“ABC”占3个字节,“呵呵ABC”占9个字节(其中每个汉字占3字节)。...原创 2018-12-03 00:05:25 · 203 阅读 · 0 评论 -
char 和 char[]的区别与联系
char* 和 char[]的区别与联系联系在大多数表达式中,使用数组类型的对象其实是使用一个指向该数组首元素的指针。例如: 作为函数的声明的参数的时候,char []是被当做char *来处理的!两种形参声明写法完全等效!区别char *指向的内存区域的大小可以随时改变。char []对应着一块内存区域,其地址和容量在生命期里不会改变。char []存放在栈内存...原创 2018-12-04 01:14:43 · 999 阅读 · 0 评论 -
CC++中Static的作用
C和C++中Static的作用转载自:https://www.cnblogs.com/qintangtao/p/3285937.htmlC++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。一、面向过程设计中的static1、静态全局变量在全局变量前,加上关键字stat...转载 2019-04-22 22:59:06 · 1013 阅读 · 0 评论