程序猿笔记(大学学习中遇到的比较零散的问题)
模板
模板的cpp定义也需要包含到main.cpp中
程序设计思维与实践hw2T4
为什么hw2的T4不能用vector存储,是因为我的com函数有问题吗
CSP/LINUX:
Linux环境下为什么第三题的最后一个数字读不进去;oj平台所给的数据没有换行符
quartusII 编译时出现问题:fitter error
——需要考虑上图nCEO选项改为use as regular I/O
cin.ignore()的用法:
cin.ignore()函数是C++标准输入流(cin)中的一个方法。cin.ignore()函数中有两个参数,分别为数值型的a 和 字符型的 ch ,即cin.ignore( a, ch )。它表示从输入流 cin 中提取字符,提取的字符被忽略,不被使用。而每抛弃一个字符,它都要进行计数和比较字符:如果计数值达到 a 或者被抛弃的字符是 ch ,则cin.ignore() 函数执行终止;否则,它继续等待。
它的一个常用功能就是用来清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响。例如可以这么用,cin.ignore(1024, ‘\n’),通常把第一个参数设置得足够大,这样实际上是为了只有第二个参数 ‘\n’ 起作用,所以这一句就是把回车(包括回车)之前的所以字符从输入缓冲流中清除出去。
如果默认不给参数的话,默认参数为cin.ignore(1, EOF),即把EOF前的1个字符清掉,没有遇到EOF就清掉一个字符然后结束。
原文链接:https://blog.csdn.net/wxbmelisky/article/details/48596881
stringstream
while (getline(cin, s, '\n')) {
string cmd, str;
stringstream ss(s);
ss >> cmd;
ss >> str;
……
在上面的代码中,通过stringstream实现了字符串的分隔,避免出现多行读入下读取数据的不匹配
除此之外,它还可以帮助实现数据类型的转换、多个字符串的拼接等功能,具体可见C++编程语言中stringstream类介绍-CSDN博客
使用引用作为迭代器有何作用?
for (auto &i : p->children) {
if (path == i.fileName) {
filePtr.push_back(&i);
break;
}
}
将数组初始化为无穷大/无穷小
memset(f, 0x3f, sizeof(f));//无穷大
memset(f, 0xcf, sizeof(f));//无穷小
0x3f, sizeof(f));//无穷大
memset(f, 0xcf, sizeof(f));//无穷小