学习时候夯实基础
学习时候求甚解,用得时候可以不用理解那么深
在学习其他模块时候学习通用思想,命令
行业共识
day1
1.cout是什么
<< 双目运算符,左移运算符 左右都是值,有一种特殊得值,cout本质就是对象
2.让输出得对象合法,那就重载运算符,重要c++编程技巧
重载运算符 ostream
3.左值引用是什么和为什么用const
自己思考
4.当私有变量,重载时候访问不到怎么办,友元函数
友元函数得作用就是使得 一个函数可以访问到对象私有成员属性
工程开发中需要将成员得类设置成私有的
//构造方法,友元,私有属性
几点思考
1.c++中现成的工具和方法,思考这些工具和方法它们是怎么实现的
2,对现有c++知识的掌握和连接,知道语法特性
3.c++程序来讲,工程代码中如何写,满足工程规范
各种规范!!
构造函数,先声明再实现这种规范
c++是极其考验技术想象力的一门语言
四大主流编程范式:
面向过程、面向对象、泛型编程、函数式编程
需要涉猎外部大量知识
//------------暂时下面好像还有问题
//------------暂时上面面好像还有问题
怎么去学习c++
算法数据结构思维、底层操作系统理解、网络知识巩固
锻炼编程思维
c++语法特性特别多,是为了支持四种编程范式的,可以将不同的语法特性归类到不同的编程范式中
比如说学习c++语法时候按照编程范式学习c++语法和特性
面向对象编程:类,对象,虚函数,友元函数,运算符重载,内存结构
模板泛型编程:模板,模板中参数的自动推导,模板中的特殊技巧
g++ add.cpp
./a.out
编译、链接
链接:就是刚好我有,你又需要,就被链接起来了
C源码-->编译为对象文件-->链接为 可执行程序
a.c[源码] a.o[装定义]
b.c b.o
链接就相当于把所有对象文件连接起来
展示声明定义过程例子
yum install gcc-c++
g++ tt.cpp 编译链接全执行
g++ -c tt.cpp定义:变量的声明,函数的声明
nm -C main.o
没语法错误就可以编译通过
外部调用演示
可以看到执行了乘法,然后也可以看到关于调用的绝配
学习技术的时候,最重要的是学习错误
编译时候错误,那就是语法错误,检查源文件
链接时候两种错误,检查链接时候,对象文件相关
未定义的标识符【比如说没有定义函数】
重定义的标识符【比如说重复定义函数】
定义作用在链接阶段,声明作用在编译阶段
定义【源文件 .cpp】和声明【头文件 .h】之所以分开就是为了工程解耦
技术学习理念,求甚解
调用第三方功能模块
初识google测试框架
C源码
目标文件
可执行程序 静态链接库 .a文件
头文件.h文件包含 C源码 目标文件 可执行程序
git clone googletest
rm -rf build
mkdir build
cd build
cmake ../
make
cd ../
cp -r lib/ ../../
拿到定义部分
再找头文件部分也就是声明部分
引入google测试框架
学习在怎么导入外部模块
写两个测试用例
缺少发现神奇的眼睛
解决两个问题,声明和定义位置,如何未卜先知我实现了几个函数
printf输出彩色文字
颜色配置信息 + 显示文字
\033 [ A1;A2;A3;...An m
通用格式控制 前景色 背景色
高亮黄色字,红色背景 \033[ 1;33;41m
重置颜色属性,再设置自己的颜色
工程开发0值代码,小细节,0值代码写到前面,0值代码写到后面,让这个代码不影响到其他代码颜色
997367531截图加评价
ma6174
wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x