C 中的字串插值
字串插值或變數替換可讓您建立帶有嵌入值的字串。在 C 中執行此操作的常見方法是使用
std::string message = "error! value was " << actualValue << " but I expected " << expectedValue;
此方法簡單且易於使用,但它不是類型安全的,對於大字串可能效率低下。
C 20 中新的標準函式庫函數,std::format,可用於字串內插。此函數支援 Python 風格的格式化:
std::string message = std::format("error! value was {0} but I expected {1}", actualValue, expectedValue);
std::format 是型別安全的,並且提供比
對於舊版C 或需要最大可移植性的項目,可以使用fmtlib 等第三方函式庫進行字串插值:
fmt::MemoryWriter messageWriter; fmt::format_to(messageWriter, "error! value was {} but I expected {}", actualValue, expectedValue); std::string message = messageWriter.str();
為字串選擇方法時C 中的插值,考慮以下因素:
以上是如何在 C 語言中有效率地執行字串插值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!