算法札记:ACM适用的很骚的C++语法(持续更新)

iota(a,a+n+1,0):

从a0到an依次赋值0 1 2 3 4 ... n

atoi(s):

char* c; int x=atoi(c);若s="123A" => 123 若s="A123" => 0

  • str:要转换的字符串。

  • pos(可选):存储第一个未转换字符的索引(用于解析"123abc"这类混合字符串)。

  • base (可选):进制的核心参数 。取值范围是 2 到 36 ,或者特殊值 0。

16进制转2:

std::string hexStr = "A5"; // 16进制字符串 int num = std::stoi(hexStr, nullptr, 16); // 转成整数 std::bitset<8> bits(num); // 8位bitset std::cout << bits << std::endl; // 输出 10100101

strcmp(A,B):

相同返回0,不同返回1

sscanf(&s1,"%d",val)

字符串中某个字符的地址是从这个字符开始,s="123A" => val=23

char date_str\[\] = "2025-04-15";int year, month, day;

if (sscanf(date_str, "%d-%d-%d", &year, &month, &day) == 3)

substr

复制代码
    // 1. 指定起始位置和长度:从索引 6 开始,取 5 个字符 -> "World"
    std::string sub1 = str.substr(6, 5);
    std::cout << sub1 << std::endl; // 输出: World

    // 2. 只指定起始位置:从索引 6 直到末尾 -> "World"
    std::string sub2 = str.substr(6);
    std::cout << sub2 << std::endl; // 输出: World

strchr

复制代码
    char* p = strchr(s, ',');  // p 指向逗号

    if (p != NULL)             // 必须判空!
        std::string path = std::string(p + 1); 

c_str()

复制代码
    用 c_str() 获取 const char*,同时必须用 const char* 接收
    const char* p = strchr(s.c_str(), ','); t

to_string()

_for(i,0,16){

bitset<4> bt(i);

mpc\[i]=bt.to_string();

}

相关推荐
小羊没烦恼!3 分钟前
异步编程:线程概述及使用
java·开发语言·mysql·算法·c#
学Linux的语莫35 分钟前
python中类的常见写法
开发语言·python·状态模式
需要82637 分钟前
容器化 Java:镜像瘦身与 JVM 容器感知(cgroup)
java·开发语言·jvm
dyxal1 小时前
A2A 协议 v1.0 完全指南:方法名、Agent Card、三种绑定与 FastAPI 实战
开发语言·qt·fastapi
譕痕1 小时前
Rabbit 实例
java·开发语言·java-rabbitmq
综合简报1 小时前
黑五海外发稿投给谁?三类海外媒体发稿渠道的分工
开发语言·php·媒体
·present·1 小时前
CSAPP(lecture 3)
c++
大风起兮云飞扬丶2 小时前
Java——线程池
java·开发语言
别动我齐刘海2 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人
我命由我123452 小时前
Python 开发 - Python 虚拟环境
运维·开发语言·后端·python·http·https·java-ee