C转Cpp基本篇

1.using namespace std;

1
2
3
4
5
#include<iosteam>
using namespace std;//用于加载cin cout endl等语法内容
cin >> n;//等效 scanf("%d",&n);
cout << n; // 等效 printf("%d",n);
endl; // 等效 \n 换行

2.cin cout头文件

  • 运算速度不如scanf printf
  • 全部的头文件都可以改成c+头文件名,去掉.h 例如cmath cstring

3.变量声明

  • for循环中可以直接定义

    1
    2
    for(int i = 0;i<n;i++)
    cout << n << " " ;//此处" "的作用是空一格

4.bool变量

  • 非0为true,0为false

    1
    2
    3
    4
    5
    bool flag = ture;
    bool flag2 = -1;
    bool flag3 = 0;

    cout << flag << " " << flag2 << " " << flag3 << endl;

6.const定义常量

  • const 表示常数常量,与C中 define 效果相同

  • ```cpp
    const int Max = 100;
    //则MAX定位100

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

    ## 7.string类型

    ### 定义 拼接 输入输出 处理


    ```cpp
    string s1 = "Hello";
    string s2 = "World";
    /*拼接*/string s3 = s1 + s2;
    /*输入*/cin >> s; //仅能输入一个单词
    /*整行输入*/getline (cin,s);
    /*输出*/cout << s3 << endl;
    • ​ 直接输出字符串长度

      1
      2
      cout << s.lenght() << endl;
      //可以直接输出字符串S的长度
    • 取字符(拷贝子串)

      1
      2
      3
      4
      5
      s1 = s.substr(n,m)//sub代表子串 str
      s1 = s.substr(n)
      //两种方式copy主串字符到子串中
      //第一种方式是 将第n个字符后边m个字符拷贝出来(不包括第N个字符)
      //第二种方式是 将第n个字符后边全部的字符都拷贝到子串中去

8.结构体

  • 原本C语言进行结构体书写时需要如下

  • ```c++
    typedef struct Excel
    {
    string name;
    int age;
    };

    int main()
    {
    struct shu a[100];
    }

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21

    - 改进后创建变量时`struct`和`typedef`就可以不用写了

    ## 9.引用&

    - 在C中你需要定义指针类型变量,然后在函数中传值上去

    - Cpp中在函数定义的变量前+&符,便可以直接调用主函数中变量的地址

    - ```c++
    void G(int &a)
    {
    a += 1;
    }

    int main()
    {
    int a = 4;
    G(a);
    cout << a << endl;
    }

C转Cpp Stl篇

10.动态数组 vector

  • 头文件

    1
    #include<vector>
  • 创建数组

    1
    2
    3
    4
    vector <int> v(10,2);
    vector <int> v(10);
    vector <int> v;
    //元素值默认为0
  • 分配数组大小

    1
    v.resize(lenght)
  • 末尾添加新的数据

    1
    v.push_back(data)
  • 迭代器

    1
    2
    3
    4
    5
    for(auto p = c.begin();p != c.end();p++)
    {
    cout << *p <<<" ";
    }
    //此时需要c++11

更新日期:2024-1-19-18.30