c++ learning note
1/ int 转换成 string 格式
#include<sstream>
std::stringstream ss;
str::string temp;
int n;
ss<<n;
ss>>temp;
//再次使用时 需要 ss.clear(); 或者重新定义
方法1:
string转换成int
atoi(str.c_str()) 函数
string s; int re;
re= atoi(s.c_str());
方法2 :
int b= stoi(string a);
3.c++中指针数组和数组指针作为函数参数时,该如何传递
#include<iostream>
#include<cstdio>
using namespace std; void FuncT(int iNum, char *asIP[])
{
for (int i = ; i < iNum; ++i)
{
printf("%s\n", asIP[i]);
}
}
int main()
{
char asIP[][];
cout << asIP << " " << asIP[] << endl;
char *p[] ;
p[] = asIP[];
p[] = asIP[]; strcpy_s(asIP[], "172.2.2.1");
strcpy_s(asIP[], "172.23.3.2"); FuncT(, p);
system("pause");
return ;
}
//形参和实参的匹配形式
// 实参 形参
**p **p
p[][] (*p)[]
*p[] **p
(*p)[] *p
#include <mem.h>
void* memset(void* s, int c, size_t n)
{
unsigned char* p = (unsigned char*) s;
while (n > 0) {
*p++ = (unsigned char) c;
--n;
}
return s;
}
memset()的函数, 它可以一字节一字节地把整个数组设置为一个指定的值。
memset()函数在mem.h头文件中声明,它把数组的起始地址作为其第一个参数,
第二个参数是设置数组每个字节的值,第三个参数是数组的长度(字节数,不是元素个数)。
4/ C++中禁止 拷贝构造函数 和 赋值构造函数
设为private ,但是这种方法 它的 friend class 和 friend 函数 都可以访问拷贝构造
c++11 标准中可以通过delete操作禁掉 他们
T(T&temp)=delete; // 再次调用拷贝构造函数 会报错
T& operator=(T&temp)=delete;
5/ 随机函数 rand()/ srand()
rand stdilb.h 中
rand() 产生的是伪随机数,每次产生的是相同的值
如果想要产生不同的随机数用srand函数
srand((unsigned)time(0));
最新文章
- Module compiled with Swift 3.0 cannot be imported in Swift 3.0.1
- C# 制作外挂常用的API
- Android XML文件解析
- vim文本编辑器的总结
- jQuery autoResize
- subsequence/subsets/subarray/substring problems
- wap网页、微信内嵌网页在手机端页面窗口尺寸如何不缩放
- Web移动端的常用组件库
- docker~学习笔记索引
- MVC框架实例构建
- Spring事务传播机制和数据库隔离级别
- linux下让irb实现代码自动补全的功能
- Tomcat start.bat闪退:JRE_HOME环境变量配置不对
- (C#)IP地址与数字地址相互转换
- win32-api: 让 static 控件中的水平横行,垂直居中。
- 四:(之八_Linux压力测试工具stress)Dockerfile语法梳理和实践
- maven pom.xml文件 仓库搜索服务
- [web前端] 去哪儿网前端架构师司徒正美:如何挑选适合的前端框架?
- 4种事务的隔离级别,InnoDB怎样巧妙实现?
- Mac使用数据线连接ios,安装deb