408 数据结构 cpp (C++) 代码使用的细节问题

手打的,可能有问题,在持续更新,有建议或问题或相关的遗漏点欢迎评论(不一定回) 

 

1. 对库的引用

注意这两种引用的区别

# include <math.h>
# include <cmath>

在 cpp 中,如果要使用 c 中的函数库,用类似于“cmath”之类格式;否则,使用“math.h”(是用于C语言的标准头文件引用)
在 cpp 中,推荐使用推荐使用 “cmath” 而不是 “math.h”,因为前者提供了C++标准库的功能,并将函数放置在 std 命名空间中,以避免全局命名冲突。

2. 命名空间

using namespace::std

如果你不明白这行代码的意义,请不要忘记加上

3. 注释

// 这个是单行注释

/*
这是一个多行注释
*/

4. 类型转化

int intValue = 42;
// 1. 静态转换
static_cast<double> = static_cast<double>(intValue);

// 2. 动态转换
/* 这个比较复杂,考试基本不会涉及,如有兴趣自行了解 */

// 3. 常量转换

// 4. 重新解释转换
// c 风格
int intValue = 42;
double doubleValue = (double)intValue;

建议写 c 风格的,不容易错

5. struct 的写法

#include <iostream>

// 定义结构体
struct Point {
    // 成员变量
    int x;
    int y;

    // 成员函数
    void printCoordinates() {
        std::cout << "Point coordinates: (" << x << ", " << y << ")\n";
    }
};

int main() {
    // 创建结构体变量
    Point p1;

    // 初始化结构体成员
    p1.x = 10;
    p1.y = 20;

    // 调用结构体的成员函数
    p1.printCoordinates();

    return 0;
}

注意点

  1. struct 结构的写法
  2. 创建结构体变量时的写法

6. 函数与赋值

给出一种赋值的方式

int a = 5;
int b = 10, c = 15;

数学函数相关

在 cmath 库中,很多函数中参数类型是 double,需要稍微注意下。(如果传入 int 等类型可能会进行类型转换)

log pow sqrt fabs floor ceil

数组

int a[5] = {1, 2, 3, 4, 5};
a[4] = 9;

int b[2][3] = {
    {1, 2, 3}, 
    {4, 5, 6}
}
a[0][1] = 5;

string 类型

string 类型并不以 null 结尾;如果要判断长度,有对应的 .length() 和 .size() (这两个是一样的)

string 类型的创建

string s = "1";
string s2("s2");

string 与 整型 等的转化

stoi stol stof stod

整型等 与 string 的转化

to_string

 

vector 类型

创建

# include <vector>

vector<int> v;
vector<int> v2 = {1, 2, 3};

杂项

  1. cpp 中相较旧版本 c 有多了 bool 型;三目运算符等
  2. lambda 表达式的写法(如果你不知道或不清楚 lambda 表达式的写法,请不要尝试去写这个东西)
  3. 函数引用传递
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值