![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
WJSZMD
暂无
展开
-
strcpy的不安全之处
不安全的strcpystrcpy将src指向的以null结尾的字节字符串(包括null终止符)复制到dest指向其第一个元素的字符数组。如果dest数组不够大,则行为未定义。 如果字符串重叠,则行为未定义。 如果dest不是指向字符数组的指针,或者src不是指向以null结尾的字节字符串的指针,则行为是未定义的。strcpy,strncpy等函数都不安全.原因在于他们都不检查边界,极易造成...原创 2019-05-09 17:47:58 · 6986 阅读 · 3 评论 -
extern,extern C,头文件中可否定义变量,static,const等汇总
extern , extern “C” 作用, 该不该在头文件中定义全局变量? 以及C中的const static,C++中的static 和 const区别联系.extern首先说明extern,一般来说extern的作用是告诉编译器,我要引用别的模块定义的变量或者函数啦. 即extern xxx;只用来声明,而不定义.一般用法如下:对于extern 变量:A.c#include &...原创 2019-05-14 22:15:50 · 789 阅读 · 0 评论 -
CString,string,char*转换
CString,string,char*转换首先假设这里CString是CStringA,之后再讨论CStringW的转换.string=> CStringstring str;CString cstr;cstr.format("%s",str.c_str());CString=> stringCString cstr;string str(cstr.GetB...原创 2019-06-19 13:41:19 · 267 阅读 · 0 评论 -
可变形参的函数
可变形参的函数总共有三种方式:initializer_list (c++11)省略符形参可变参数模板 (c++11)initializer_list这种只适用于全部实参类型相同,我们可用initializer_list类型的形参.注意initializer_list也是模板类型,但与vector不同的是,initializer_list中的元素值永远是常量值,我们无法去改变它的元...原创 2019-06-16 22:06:30 · 214 阅读 · 0 评论 -
函数对象和函数指针
函数指针函数指针:是指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么这个指向这个函数的函数指针便指向这个地址。用途:用作调用函数和做函数的参数。声明方法:数据类型标志符 (指针变量名) (形参列表)int (*func) (int x); 这里的(*func)不能去掉括号,去掉括号就是返回值为int指针的函数声明。一般用typedef:typedef i...原创 2019-06-16 22:08:16 · 1819 阅读 · 1 评论