摘要: sprintf是传统的c字符串格式化函数.用法: #include<stdio.h> char buffer[10]; sprintf(buffer,"%d",6666);//将一个整形值转化为c字符串形式其优点: 1.效率最佳 2.易用性与清晰性缺点: 1.长度安全性引起缓冲区溢出,破坏内存 2. 类型安全性问题 3. 不能应用于模板在windows平台中 winsdk提供了安全字符串系列函数,来取代传统的有缓冲区溢出的字符串函数.实例: #include<Strsafe.h> char buffer[30]; Strin... 阅读全文
posted @ 2011-09-13 19:34 Love Lyre 阅读(8042) 评论(3) 推荐(1) 编辑
摘要: 1.下面的代码,A和B有何区别void f(vector<int>&v){ v[0]=1; //A v.at(0)=1;//B} 如果V非空,A和B结果一样.如果V为空,B会抛出一个Std::out_of_range异常,A的行为为未定义.为了保证vector和内置数组一样的高效,operator[]不做越界检查.如果你需要下标越界检查,请使用at()成员函数.2.如下代码,请从风格和正确性方面对对其作出评价 vector<int>v; v.reserve(2); assert(v.capacity()==2); v[0]=1; v[1... 阅读全文
posted @ 2011-09-13 15:59 Love Lyre 阅读(890) 评论(1) 推荐(2) 编辑