C++ Primer--练习1.20 练习1.22以及补充部分linux知识
2016-10-02 09:33
274 查看
在做练习1.20
今天学习如和在linux下建立一个工程(以后在此博客下补充完整),顺便把相应的linux 指令记录
操作系统:ubuntu14.04
知识储备:强烈推荐花2小时阅读完鸟个的第六章和第七章
阅读鸟哥的P659-P670,读完之后你会熟悉gcc 我们用g++
登录网站http://www.informit.com/store/c-plus-plus-primer-9780321714114下载第一章代码
解压 我的存放目录为Home/my_C++/GCC_src
命令记录:1查看gcc版本 gcc -v
2复制删除与移动:cp,rm,mv (copy,remove,move)根据英文单词记命令
详情看鸟哥P169
3.查看当前目录 ls -al 若文件名前有个“.”,代表这个文件是“隐藏文件”
4.~代表用户的主文件夹 代表我的/home 所以cd ~返回主目录
../代表上一层 cd ../返回上一层
5.pwd 显示当前目录 /home/name
最好用pwd -[P]指令
创建文件夹有两种方式 1/右键新建 2/用mkdir指令(参考鸟哥的P164页)
如前文所言 我的所有C++程序都在my_C++文件下,创建工程步骤如下:
第一步:cd my_C++
mkdir test //创建一个test的目录
第二步:将Sales_item.h移动到test目录
然后编译 g++ sale.cpp
会出现如下的warning。不必理会
ls查看发现生产a.oout文件
第四步:执行 ./a.out
有兴趣的话可以阅读一下.h的头文件
练习1.21
练习1.22 折腾了半个小时这个习题,终于明白“类定义了行为这句话”
练习1.23 将P15页的程序熟记于心 统计每个值连续出现了多少次
第一章到此结束
想要读懂caffe的框架 应该先把C++ Primer前7章看完, 磨刀不误砍材功!
今天学习如和在linux下建立一个工程(以后在此博客下补充完整),顺便把相应的linux 指令记录
操作系统:ubuntu14.04
知识储备:强烈推荐花2小时阅读完鸟个的第六章和第七章
阅读鸟哥的P659-P670,读完之后你会熟悉gcc 我们用g++
登录网站http://www.informit.com/store/c-plus-plus-primer-9780321714114下载第一章代码
解压 我的存放目录为Home/my_C++/GCC_src
命令记录:1查看gcc版本 gcc -v
2复制删除与移动:cp,rm,mv (copy,remove,move)根据英文单词记命令
详情看鸟哥P169
3.查看当前目录 ls -al 若文件名前有个“.”,代表这个文件是“隐藏文件”
4.~代表用户的主文件夹 代表我的/home 所以cd ~返回主目录
../代表上一层 cd ../返回上一层
5.pwd 显示当前目录 /home/name
最好用pwd -[P]指令
创建文件夹有两种方式 1/右键新建 2/用mkdir指令(参考鸟哥的P164页)
如前文所言 我的所有C++程序都在my_C++文件下,创建工程步骤如下:
第一步:cd my_C++
mkdir test //创建一个test的目录
第二步:将Sales_item.h移动到test目录
mv /home/name/my_C++/GCC_src/1/Sales_item.h /home/name/my_C++/test第三步:vim sale.cpp 将以下代码输入进去 然后:wq(看不懂这句话就看上一篇博客)
#include <iostream> #include "Sales_item.h" int main() { Sales_item book; std::cin>>book; std::cout<<book<<std::endl; return 0; }
然后编译 g++ sale.cpp
会出现如下的warning。不必理会
In file included from sale.cpp:2:0: Sales_item.h:56:20: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default] Sales_item() = default; ^ Sales_item.h:70:27: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default] unsigned units_sold = 0; // explicitly initialized ^ Sales_item.h:71:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default] double revenue = 0.0; ^
ls查看发现生产a.oout文件
第四步:执行 ./a.out
有兴趣的话可以阅读一下.h的头文件
练习1.21
练习1.22 折腾了半个小时这个习题,终于明白“类定义了行为这句话”
#include <iostream> #include "Sales_item.h" int main() { Sales_item item1; Sales_item sum; // std::cout<<"The sum is"<<sum<<std::endl; // std::cout<<"The item1 is"<<item1<<std::endl; std::cin>>sum; while (std::cin>>item1) { sum+=item1; } std::cout<<sum<<std::endl; return 0; }
练习1.23 将P15页的程序熟记于心 统计每个值连续出现了多少次
#include <iostream> #include "Sales_item.h" int main() { Sales_item curr_item,item; if (std::cin>>curr_item) { int cnt=1; while(std::cin>>item) { if (item.isbn() == curr_item.isbn()) { ++cnt; } else { std::cout<<curr_item.isbn()<<" occurs " <<cnt<<" times "<<std::endl; curr_item=item; cnt=1; } } std::cout<<curr_item.isbn()<<" occurs " } std::cout<<curr_item.isbn()<<" occurs " <<cnt<<" times "<<std::endl; } return 0; }
第一章到此结束
想要读懂caffe的框架 应该先把C++ Primer前7章看完, 磨刀不误砍材功!
相关文章推荐
- Linux系统基础知识(二)基于linux系统下的用户管理操作以及文件操作补充
- Linux从用户层到内核层系列 - TCP/IP协议栈部分系列8: 基础知识之 - Linux环境变量使用Tip
- python练习之安装,基础知识应用以及脚本编写
- 关于linux的用户,组,以及权限的知识结构
- Windows下使用grep命令(以及其它部分Linux命令)
- 【Linux驱动】文件描述符以及相关知识
- 补充部分官方文档里没有的Client Library以及代码提示Schema更新(三)
- 补充部分官方文档里没有的Client Library以及代码提示Schema更新(二)
- linux c 一些常用库函数以及部分原型
- 硬盘基础知识以及在Linux系统中的使用
- JS学习之三(JavaScript组成部分【知识补充】)
- Linux基础命令以及基础知识
- Windows下使用grep命令(以及其它部分Linux命令)
- 学Linux(2) 计算机和操作系统基本知识部分笔记
- linux内核2.6.36 页框回收之缓存部分入门知识(一)
- linux(centos)部分常用命令以及目录结构简单介绍
- Linux进度条以及makefile相关知识
- Linux开发部分代码练习
- Windows下使用grep命令(以及其它部分Linux命令)
- linux grep使用以及grep使用练习