溫馨提示×

C++ npos面試題精選解析

c++
小樊
103
2024-07-14 10:10:30
欄目: 編程語言

  1. 什么是npos?

npos是string類中的一個靜態成員變量,表示一個不存在的位置或者不存在的索引。在大多數情況下,當字符串中的一個函數返回npos時,表示沒有找到指定的字符串或者字符。

  1. npos的值是多少?

npos的值通常是一個非常大的數值,通常等于-1(unsigned類型)。在C++中,npos定義為一個constexpr值,其實際值是std::string::npos。

  1. 如何判斷字符串中是否包含指定的子字符串?

可以使用string類的find()函數來判斷字符串中是否包含指定的子字符串。如果find()函數返回值等于npos,表示沒有找到指定的子字符串。

例如:

std::string str = "Hello, World!";
if(str.find("World") != std::string::npos) {
    std::cout << "Found!" << std::endl;
} else {
    std::cout << "Not Found!" << std::endl;
}
  1. 如何用npos刪除字符串中的所有字符?

可以使用string類的erase()函數來刪除字符串中的所有字符。將erase函數的參數設為0和string::npos即可刪除所有字符。

例如:

std::string str = "Hello, World!";
str.erase(0, std::string::npos);
std::cout << str << std::endl; // Output: ""
  1. 如何用npos替換字符串中的所有字符?

可以使用string類的replace()函數來替換字符串中的所有字符。將replace函數的參數設為0和string::npos即可替換所有字符。

例如:

std::string str = "Hello, World!";
str.replace(0, std::string::npos, "Goodbye!");
std::cout << str << std::endl; // Output: "Goodbye!"

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女