C++ 笔记1 | 第一个C++程序 结构体 联合 枚举 string、bool类型

本文介绍了C++的基本概念,包括如何编写第一个C++程序、使用名字空间避免命名冲突,以及深入探讨了结构体、联合体、枚举的使用。此外,详细讲解了C++中的字符串操作,如string类型的特性、拷贝、连接和比较,并介绍了布尔类型bool的应用。
摘要由CSDN通过智能技术生成

一、第一个C++程序

#include<iostream>

int main(void)
{
   
	std::cout << "hello word!" <<endl;
	return 0;
}

1、编译方式

1)gcc xx.cpp -lstdc++
2)g++ xx.cpp //推荐

2、文件扩展名

1).cpp //推荐
2).cc
3).C
4).cxx

3、头文件

#include
–》C++中和I/O相关的类型、对象、函数都在在头文件中
–》C++中大多数头文件没有".h"后缀

  • 注:在C++中开发中,依然可以使用标准C库的头文件,另外在C++中还提供一套不带“.h”替换版本.
 #include <stdio.h> ==> #include <cstdio>
 #include <stdlib.h> ==> #include <cstdlib>
 #include <string.h> ==> #include <cstring>

4、C++中标准输入和输出

1)cin对象表示标准输入 //类似scanf
//从键盘读取一个int数据

	int num=0;
	scanf("%d",&num);            //C语言
	cin >> num;                 //C++语言
注:“>>”被称为输入(提取)操作符
//从键盘同时读取一个int和一个double数据
int i=0,double d = 0.0;
scanf("%d%lf",&i,&d);                //C语言
cin >> i >> d;                      //C++语言

2)cout对象表示标准输出 //类似printf

//打印输出一个int数据
	int num = 123;
	printf("%d\n",num);		//C语言
	cout << num << endl;	//C++语言
注:“<<”被称为输出(插入)操作符
注:“endl”表示换行和"\n"类似
//同时打印输出一个int数据和一个double	
int i=100,double d=1.23;
printf("%d,%lf\n",i,d);//C语言
cout << i << ',' << d << endl;//C++语言

二、名字空间(命名空间)

1、名字空间作用

1)避免名字冲突
2)划分逻辑单元

2、定义

namespace 名字空间名{
	名字空间成员1;
	名字空间成员2;
	...
}
注:名字空间成员可以是全局函数、全局变量、类型、名字空间.

3、名字空间成员使用

1)作用域限定操作符"::"
名字空间名::要访问的成员;
eg:
std::cout //指定访问标准名字空间里面的cout

2)名字空间指令
using namespace 名字空间名;
注:在该条指令以后的代码中,指定名字空间的成员都可见,可以直接访问,省略"名字空间名::".
eg:
using namespace std;
cout << a;//ok

3)名字空间声明
using 名字空间名::名字空间成员;
注:将名字空间中特定的一个成员引入到当前作用域,在该作用域访问这个成员就如同访问自己的局部成员一样,可以直接访问,省略"名字空间名::"

  • 举例1、spacename2.cpp
#include <iostream>
//标准名字空间指令,省略“std::”
using namespace std;
namespace ns1{
   
    void func(void){
   
        cout << "ns1的func" << endl;
    }
}
namespace ns2{
   
    void func(void){
   
        cout << "ns2的func" << endl;
    }
}
int main(void){
   
    using ns1::func;//名字空间声明
    func();//ns1的func
    //using ns2::func;
    //func();//歧义错误
    using namespace ns2;//名字空间指令
    func();//ns1的func,局部优先
    ns2::func();//ns2的func
    return 0;
}


  • 举例2、spacename2.cpp
#include <iostream>
using 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值