算法札记: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();

}

相关推荐
mengzhi啊1 小时前
QPluginLoader 动态 DLL 插件版,支持插件之间通信,广播。请求和应答
c++·qt
脉动数据行情11 小时前
C# 实现德指 DAX 期货 WebSocket 实时行情监听
开发语言·websocket·c#
大圣编蚕2 小时前
Java ByteArrayInputStream 详解:从入门到实战
java·开发语言·算法
菜鸟~noob2332 小时前
【电子战】第02篇:能量检测器 vs. 相关检测器【含matlab代码】
开发语言·matlab
OpenAnolis小助手3 小时前
一句话看透 JVM,SysOM 诊断 Skill 新增 Java 应用诊断能力
java·开发语言·jvm·阿里云·操作系统控制台·sysom
小玮看世界3 小时前
[Python]OD算法在OD实际运用转化参考清单
开发语言·python·算法
ForteScarlet3 小时前
Kotlin 2.4.20 现已发布,新特性多不多?
android·java·开发语言·开源·kotlin·jetbrains
萧瑟余晖3 小时前
Java深入解析篇六十二之安全机制详解
java·开发语言
老赵的博客4 小时前
c++ QT之动态库加载问题
c++·qt