C++:
字符串插值

How to: (如何实现:)

在C++中,你可以使用std::ostringstream或C++20中的std::format来插值字符串。

#include <iostream>
#include <sstream>
#include <format>

int main() {
    // Using std::ostringstream
    std::ostringstream oss;
    int age = 25;
    oss << "我今年" << age << "岁。";
    std::cout << oss.str() << std::endl;

    // Using std::format (C++20)
    std::string result = std::format("我今年{}岁。", age);
    std::cout << result << std::endl;

    return 0;
}

输出:

我今年25岁。
我今年25岁。

Deep Dive (深入探索)

在C++中,字符串插值不是像一些其他语言那样直接内置的功能。早期,需要利用流(如std::ostringstream)手动构建字符串。随着C++20的到来,std::format提供了一种类似于Python风格的字符串格式化方法,它更简洁和高效。std::format背后使用的是格式字符串语法(Format String Syntax),这改善了字符串的可读性和维护性。替代方法还包括使用sprintf或字符串连接,但它们可能不如std::format安全或方便。

See Also (另请参阅)