C++学习笔记(一)
来源:互联网 发布:软件架构师薪水 编辑:程序博客网 时间:2024/06/16 01:43
第一章 C++简单程序设计
那么以一段程序开头吧
//first.cpp#include <iostream>#include <vector>//动态数组(malloc, new 在heap上分配空间)//malloc = m(内存)+ alloc(分配) //m(内存)--heap(堆)__stain(栈)//vector 包含在<vector>中using std::vector;using std::cout; //输出using std::cin; //输入using std::endl; //换行int main(){ //类 对象 vector<int> vi; //也可以直接写vector<int> vi(3); //定义并分配3个空间,就像C中的数组,vi[0],vi[1],vi[2] int i = 10; vi.push_back(i); //push_bask()会先分配空间 vi.push_back(100); vi.resize(3); //表示动态分配3个空间,所以下一条语句成立 vi[2]=76; //如果没有上一条的分配空间,这是不能直接用的 //vi[2]只是个指针而没有空间 for (int k(0); k < vi.size(); k++) { // k(0) 与 k=0等价; vi.zize()可以得到数组的daxiao cout << vi[k] << endl; }}
这里提一下
类,泛型编程,容器
类包括 结构体类型,结构体变量(在C中都是简单的数据, 在C++中则可以是函数)
容器(container)包括了 Map(集合),Set(映射)
简单的文件操作
- 创建一个相应的文件流对象
- 打开文件,将操作文件绑定到该流上
- 进行文件操作
- 关闭文件
创建与打开文件可以用一条语句实现
ifstream ifs("hi.cpp");
那么写一段程序作为例子
//file.cpp#include <iostream>#include <string.h>#include <fstream> //文件操作需要用到using namespace std;int main(){ ifstream ifs; ifs.open("file.cpp"); //打开文件,文件的具体位置要自己找,使用相对路径与绝对路径皆可 //ifstream ifs("file.cpp"); string line; getline(ifs, line); //全局函数,从ifs读1行到line中 cout << line << endl << endl; //将整个文件都打印到屏幕上 int i(0); while (getline(ifs, line)) { cout << ++i << ": " << line << endl; } ifs.close(); //关闭文件}
输入与输出都是对内存而言的,即
将内容读入内存——输入
将内容取出内存——输出
ifstream 与 ofstream 是两个类,分别用于输入和输出
要把内容写到文件中,只要使用以下代码
ofstream ofs("copy.cpp"); int j(0); while (getline(ifs,line)) { ofs << ++j << ": " << line << endl; }
在创建对象时,自动调用构造函数
超过对象的使用域时会调用析构函数,其中包含了文件关闭函数,因此有时候就不用调用close()函数了
既然以一段代码开头了,那么就以代码结尾吧
//file.cpp#include <iostream>#include <string.h>#include <fstream> //文件操作需要用到using namespace std;int main(){ string name("Jiang"); int age(20); //括号也是可以赋值的 ofstream fout("person.ini"); fout << name << " " << age << endl; fout.close(); //若没有这条语句则一个文件同时有了两个流,会出错 //{fout << name << " " << age << endl;}//也可以用花括号规定fout的作用域 cout << "after some days …" << endl; ifstream fin("person.ini"); string newname; int newage; fin >> newname >> newage; cout << newname << " " << newage << endl;}
以上就是第一章的内容了
下一篇博客将会有与第一章内容相契合的三个小程序
第二章我们会讲到常量和引用
(内容大多源自老师讲课)
0 0
- c学习笔记(一)
- 【C++】学习笔记一
- C#的学习笔记(一)
- Linux c 学习笔记(一)
- 学习《c++primer》笔记一
- c语言学习笔记一
- c 学习笔记 (一)
- C语言学习笔记一
- 《C++Primer》 学习笔记一
- C/C++学习笔记(一)
- 一.c++primer学习笔记
- Objective-c 学习笔记(一)
- C语言程序设计学习笔记一
- c语言学习笔记一
- Objective C学习笔记(一)
- Objective-C 学习笔记一
- objective-c 学习笔记一
- C语言学习笔记一
- scrapy爬虫代理——利用crawlera神器,无需再寻找代理IP
- 例14:计算某日是该年的第几天
- elasticsearch对analyzed字段无法使用term方法的解决办法
- 微信小程序的flex布局
- 微信小程序详解——小程序的生命周期和页面的生命周期
- C++学习笔记(一)
- R语言笔记(一)
- POJ - 3252 数位dp
- 让tableView不能下拉但是可以上拉
- Java日志管理:Logger.getLogger()和LogFactory.getLog()的区别(详解Log4j)
- 统计相关系数(1)——Pearson(皮尔逊)相关系数及MATLAB实现
- Matplotlib 入门教程
- 【springboot】使用注解遇到的问题
- CocoaPods使用详解