初识C++标椎库

初识C++标椎库

1、有趣的重载

Slide2

2、编程实验

//32-1.cpp

#include <stdio.h>
#include <string.h>

const char endl = '\n';

//命令行
class Console
{
public:
	Console& operator << (int i)
	{
		printf("%d",i);
		return *this;
	}
	Console& operator << (char c)
	{
		printf("%c",c);
		return *this;
	}
	Console& operator << (const char* s)
	{
		printf("%s",s);
		return *this;
	}
	Console& operator << (double d)
	{
		printf("%f",d);
		return *this;
	}

};

Console cout;

int main()
{
	//cout.operator<<(1);
	cout << 1 << endl;

	cout << "hello world" << endl;

	double a = 0.1;
	double b = 0.2;

	cout << a + b << endl;

	return 0;
}

//编译运行

$ ./a.out 
1
hello world
0.300000


3、C++标准库

重复发明轮子并不是一件有创造性的事,站在巨人的肩膀上解决问题会更加有效!

  • C++标准库并不是C++语言的一分部
  • C++标准库是由类库函数库组成的集合
  • C++标准库中定义的类和对象都位于std命名空间中
  • C++标准库的头文件都不带.h后缀
  • C++标准库涵盖了C库的功能

Slide6

  • C++标准库预定义了多数常用的数据结构
字库:兼容C语言库
bitsetsetcstdio
dequestackcstring
listvectorcstdlib
quequemapcmath

以上都是C++标准库的字库。

//C++标准库中的C库兼容
//32-2.cpp

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>

using namespace std;

int main()
{
	printf("hello world\n");

	char* p = (char*)malloc(16);
	strcpy(p,"hello new world");
	printf("%s\n",p);
    
	double a = 3;
	double b = 4;
	double c = sqrt(a*a + b*b);

	printf("c = %f\n",c);

	free(p);

	return 0;
}

//编译运行
$ ./a.out 
hello world
hello new world
c = 5.000000


Slide9

//C++中的输入输出
#include <iostream>
#include <cmath>

using namespace std;

int main()
{
	cout << "hello world" << endl;

	double a = 0;
	double b = 0;

	cout << "Input a:";
	cin >> a;
	
	cout << "Input b:";
	cin >> b;

	double c = sqrt(a*a + b*b);

	cout << "c = " << c << endl;

	return 0;
}

//运行编译
$ ./a.out 
hello world
Input a:3
Input b:4
c = 5


4、小结

  • C++标准库是由类库函数库组成的集合
  • C++标准库包含经典算法数据结构的实现
  • C++标准库涵盖了C库的功能
  • C++标准库位于std命名空间中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值