C++核心编程

C++涉及以下领域开发:

C++第一个程序

cpp 复制代码
/*iostream:C++使用IO相关函数的头文件,类似与stdio.h;
C++风格的头文件没有.h后缀
C++兼容C,C++也可以使用stdio.h 
也提供C++风格的头文件,如cstdio,该头文件一般存在于/usr/include/c++/4.8/
*/
#inclucd <iostream>

//名字空间
using namespace std;

int main(void) {

    /*类似于printf("hello world!\n");
    count:输出对象
    <<:输出插入运算符
    endl:换行符
    */
    cout << "hello world!" <<endl;
    return 0;
}
/*
首先创建.cpp文件
编译:两种方式 一种为gcc helloword.cpp -o hello -lstdc++
                一种为g++ helloword.cpp -o hello
两种方式均可以编译

*/

COUT

cpp 复制代码
#include <iostream>

using namespace std;

int main(void) {
    int a = 10;
    flost b = 2.2;
    char c = 'z';

    cout << a << " " << b << " " << c <<endl;
}

//输出结果为10,2.2,z; cout可以自动识别基础的数据类型;

cin

cpp 复制代码
#include <iostream>

using namespace std;

int main(void) {
    int a;
    float b;
    char c;
    
    cin >> a >> b >> c;
    cout<< a << b << c <<endl;
}

//当屏幕输入11.12a时,输出结果为11 0.12 a;cin也可以自动识别基础的数据类型

名字空间

cpp 复制代码
#include <iostream>

using namespace std;

namespace fuc1{
	void func(void) {
		cout << "fuc1" << endl;
	}
}

namespace fuc2 {
	void func(void) {
		cout << "fuc2" << endl;
	}
}

int main() {
	using fuc1::func;
	fuc1::func();
	fuc2::func();

	func();
	func();
	func();
	return 0;
}

注释:当定义相同的名字的时候,使用名字空间包装,可以避免报错;

调用名字空间的方法有三种

1、使用作用于限定符(::)可以引用名字空间单个成员;前面为名字空间名称,中间两个冒号,后面为调用函数

2、使用using fuc1::func;之后,后面再调用func均为名字空间fuc1里面的;这个方法适合大量使用fuc1的内容时使用;

3、当名字空间有很多个内容是,使用using namespace fuc1;

无名名字空间

未命名的名字空间称为无名名字空间;

cpp 复制代码
#include <iostream>

using namespace std;

namespace fuc1{
	void func(void) {
		cout << "fuc1" << endl;
	}
	int a = 100;
}

namespace fuc2 {
	void func(void) {
		cout << "fuc2" << endl;
	}

	int a = 200;
}

namespace {
	int a = 300;
}

int main() {
	int b;
	fuc1::func();
	fuc2::func();

	cout<< fuc1::a << " " << fuc2::a << " " << ::a <<endl;
	return 0;
}

名字空间嵌套

cpp 复制代码
#include <iostream>

using namespace std;

namespace ns1{
	void func(void) {
		cout << "this is ns1" <<endl;
	}

	namespace ns2{
		void func(void) {
			cout << "this is ns2" << endl;
		}
	}
}

int main() {
	ns1::ns2::func();
}
//输出结果为:this is ns2
相关推荐
揽星河..14 小时前
【C语言】分支和循环
c语言·c++·算法
小熊恋旧14 小时前
Python 面向对象编程:方法、属性、继承与多态详解
开发语言·python
云边云科技_云网融合14 小时前
面向汽车零部件制造业场景的解决方案 | 70 秒:一台车下线的时间里,藏着五张网
开发语言·汽车·php
Evand J14 小时前
【PMSM滤波例程2】PMSM未知负载转矩观测EKF。MATLAB例程(负载增广EKF与实际仿真结果)。附下载链接
开发语言·matlab·电机
will_net14 小时前
apollo 站点部署&C#接入
开发语言·c#·apollo
晗夜未央15 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
熊猫钓鱼>_>15 小时前
四种书签,一条时间线:一个读书 App 的记忆颗粒与它的边界案例【鸿蒙心迹】
开发语言·华为·ai编程·harmonyos·鸿蒙·openharmony·鸿蒙pc
Fuyo_111915 小时前
C++ AVL树保姆级详解:从平衡因子到四大旋转机制
java·c++·算法
努力努力再努力wz15 小时前
【Lua 入门系列】Lua 函数深入理解:函数对象、多返回值、可变参数、闭包、递归与尾调用优化
开发语言·lua
飞浪纪元[FWC–FE]16 小时前
从零到一键绿:Qt 5.14.2 + VS2019 开发环境搭建、Kit 套件配置与构建错误修复完全手册
开发语言·qt