服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C++超详细讲解标准库

C++超详细讲解标准库

2022-12-14 12:27清风自在 流水潺潺 C/C++

C++强大的功能来源于其丰富的类库及库函数资源。C++标准库(C++ Standard Library, 亦可称作,C++标准程序库)的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完成

一、有趣的重载

操作符 << 的原生意义是按位左移,例:1 <<2; 其意义是将整数 1 按位左移2位,即:0000 0001 → 0000 0100

现在来尝试一下重载左移操作符,将变量或常量左移到一个对象中!

#include <stdio.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 << 1 << endl;
  cout << "AutumnZe" << endl;
  double a = 0.1;
  double b = 0.2;
  cout << a + b << endl;
  return 0;
}

输出结果如下:

C++超详细讲解标准库

 

二、C++ 标准库

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

C++超详细讲解标准库

C++ 标准库预定义了多数常用的数据结构

C++超详细讲解标准库

下面看一个 C++ 标准库中的 C 库兼容:

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
  printf("Hello World\n");
  char *p = (char*)malloc(16);
  strcpy(p, "AutumnZe");
  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;
}

输出结果如下:

C++超详细讲解标准库

C++超详细讲解标准库

下面来看一下 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;
}

输出结果如下:

C++超详细讲解标准库

 

三、小结

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

到此这篇关于C++超详细讲解标准库的文章就介绍到这了,更多相关C++标准库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_43129713/article/details/124397730

延伸 · 阅读

精彩推荐
  • C/C++纯C语言:递归最大数源码分享

    纯C语言:递归最大数源码分享

    这篇文章主要介绍了纯C语言:递归最大数源码,需要的朋友可以参考一下...

    C语言教程网4332021-01-13
  • C/C++C++11 移动构造函数的使用

    C++11 移动构造函数的使用

    本文主要介绍了C++11 移动构造函数的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    庭树3982022-09-05
  • C/C++利用C语言替换文件中某一行的方法

    利用C语言替换文件中某一行的方法

    大家都知道C语言提供了文件操作,但是替换文件的某一行比较麻烦,下面是我使用的一个方法,现在分享给大家,有需要的朋友们可以参考借鉴。...

    jfkidear12632021-04-16
  • C/C++C++中Semaphore内核对象用法实例

    C++中Semaphore内核对象用法实例

    这篇文章主要介绍了C++中Semaphore内核对象用法实例,有助于深入了解信号量(Semaphore)的基本用法,需要的朋友可以参考下...

    C++教程网8232021-02-06
  • C/C++vscode+platformIO开发stm32f4的实现

    vscode+platformIO开发stm32f4的实现

    这篇文章主要介绍了vscode+platformIO开发stm32f4的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下...

    Laggage5452021-09-03
  • C/C++C++实现LeetCode(91.解码方法)

    C++实现LeetCode(91.解码方法)

    这篇文章主要介绍了C++实现LeetCode(91.解码方法),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...

    Grandyang7682021-11-30
  • C/C++vs2022重新编译opencv-python cuda加速时报错的问题解决

    vs2022重新编译opencv-python cuda加速时报错的问题解决

    本文主要介绍了vs2022重新编译opencv-python cuda加速时报错,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    Harry Xu5262022-11-21
  • C/C++C++和C中const的区别详解

    C++和C中const的区别详解

    这篇文章主要为大家介绍了C++和C中const的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助...

    Ersansui6702022-03-06