练习笔记

来源:互联网 发布:js实现的字幕滚动 编辑:程序博客网 时间:2024/05/21 06:26
 #include<iostream>                   从文件中读取string的方法.1 #include<string> #include<sstream>using namespace std;int main(){string str="abc def ghi",word;stringstream ss(str);while(ss >> word)cout << word << endl;ss.close();return 0;}

cout << file_list << endl;      指针遍历的方法cout << file_list+1 << endl;cout << file_list+2 << endl;

  • 如果一个文件被instream打开了,那么关闭两次不会导致报错

  • 头文件里可以不写include什么包,只要对应的cpp文件里写了,但是头文件里要写using namespace 否则会导致string无法识别等问题
  • 刚刚尝试把instream作为对象传到方程里,在方程里关闭流,但是报错:use of undeleted function ,删掉这个功能不再报错
  • 又测试了一下,这个问题100%是由于把流对象当成函数参数传入了
  • 后面的文件打开测试 因为涉及将instream当作参数传入也遇到了相同的报错
  • 最终解决办法:单独拿出instream关闭 而不是作为参数传到函数里

  • goto的问题,goto后面必须没有新的函数声明 否则会报错,简单来说,只有在后面是非常简单的内容的时候,goto才会变得方便,其他时候会报错
  • -

/如果是像现在这样的,先建立对象指针数组,在对每一个序号new一下,而不是直接new一个数组/
/那就一个一个删除每一个new的对象,因为直接删除数组仅仅针对new一个新数组/


Clion里面只要用断点断一个头一个尾,中间部分是默认运行的,不用每一行都点上断点


main函数可以含有参数,第一个参数argc代表附属文件个数,第二个参数代表附属文件的char **
这些附属文件可以被自动识别,但是在clion里还没想到有什么方法能带参运行main


instream.eof的办法被证明为没几把吊用,明明就是空文件还是往下读
解决办法是 将while循环的条件改为 instream>> ch 能往下读就while条件就是成立的


在执行 对象指针调用函数的时候,报错
- 指针
- 调用公有函数
- 修改私有成员
- 利用 -> 方法 报错 Program received signal SIGABRT, Aborted.
-
- 修改成friend函数,来调整序列,修改某一个对象指针,仍然包同样的错

逐步调试 发现所有步骤都能进行 但是到最后一步就爆了

可能是因为临时引入的array2的原因

问题解决真的是因为临时引入了,array2数组导致的,其实做列表调整不需要新的array介入
解决办法: 引入一个临时数字 int temp


头文件相互包含的问题
如果你把ifndef取消,接下来可能会面临重复定义的问题,比如a文件包含了b.h但是b.h又包含了a.h的问题
这次遇到这个问题表现是头文件里的类名称被认为是out of scope

/*由于三个组件里面要用到other_function里的函数*//*这样来说,就等于Rotors不仅要包含of头文件,而of头文件又包含了rotor内容*//*为了避免这样的问题:将of2与类定义设定成底层,of1作为第一层,main作为最高层,底层不能包括高层*/

exit 函数会清除所有占用的内存,还会关闭所有流文件,比如instream与outstream

原创粉丝点击