C++学习笔记00----C++基础知识

C++学习笔记00----C++基础知识,第1张

初次写博客记录自己的C++学习之旅,算是自己的一个小笔记本吧!希望能坚持写下去,不断输出,提高自己。


C++简介

C++是C语言的扩展, 同时,

1.更加关注语言性能

与底层硬件紧密结合;程序员能对变量的生命周期做到精确控制;不需要为没有使用的语言特性付出代价如虚函数的使用;使用了语言特性不等于付出运行成本,因为有的被编译器提前编译好了的。


(搞不懂没关系,只要知道C++很牛就行了)

2.引入了大量的特性,便于工程实现

三种编程范式:面向过程 面向对象 泛型编程

函数重载 异常处理 引用等。


C++最初是1998年开始 03年改进 11年引入了许多新特性,14、17、20对标准进一步迭代。


但是C++11应用更加广泛吧。


00g++常见编译参数介绍
//-g 带调试信息的可执行文件

g++ -g test.cpp


//-O[n]优化代码
// -O0 不做优化      -O1  默认优化     -O2除了默认优化还有一些额外优化   -O3进一步优化

//注意优化后的代码 不能调式  一般在确认无误后使用优化  提高运行效率
g++ O2 test.cpp


//  -l 指定库文件     -L指定库文件路径

g++ -L/home/lib/mytestlib  -lmytest test.cpp
// 链接/home/lib/mytestli下的mytest.so库


//-I 指定头文件搜索目录

g++ -Imyinclude test.cpp


//-std=c++11  使用c++11标准

g++ -std=c++11 test.cpp

// -o  指定输出文件名

g++ test.cpp -0 test


// man gcc  可查看gcc文档
  
01C++的编译/链接

流程:预处理   编译  汇编   链接 

mkdir tmp
cd tmp
touch test.cpp
vim test.cpp

#include
using namespace std;
int main()
{
	cout<<"This is a test!"<


预处理常见的问题 

预处理即将源文件和头文件转化为翻译单元的过程,所以就必须防止头文件的循环包含


// main.cpp
#include"swap1.h"

// swap1.h
#include"swap2.h"

//swap2.h
#include"swap1.h"

在main中 包含swap1  swap1包含swap2  swap2又包含swap1三者循环包含   编译报错

处理1

头文件加上#pragma once       (防止头文件重复包含)

#include
#pragma once
#include"swap1.h"
int main()
{
.......
}

处理2

#ifndef SWAP2_H
#ifdef SWAP2_H
........
.......
#endif

持续更新,,,,,

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/577978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存