溫馨提示×

C++ Linux環境下如何使用STL

小樊
53
2025-07-20 04:51:07
欄目: 編程語言

在Linux環境下使用C++ STL(Standard Template Library,標準模板庫)主要涉及以下幾個步驟:

1. 安裝編譯器

確保你的Linux系統上安裝了支持C++11及以上標準的編譯器,如GCC或Clang。你可以使用以下命令來安裝GCC:

sudo apt update
sudo apt install g++

2. 編寫C++代碼

創建一個C++源文件,例如main.cpp,并在其中包含STL頭文件。以下是一個簡單的示例,展示了如何使用STL中的vectoralgorithm

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};

    // 使用STL算法排序
    std::sort(vec.begin(), vec.end());

    // 輸出排序后的向量
    for (int num : vec) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

3. 編譯代碼

使用g++編譯你的C++代碼。確保啟用C++11或更高版本的支持:

g++ -std=c++11 -o my_program main.cpp

4. 運行程序

編譯成功后,運行生成的可執行文件:

./my_program

你應該會看到輸出:

1 1 2 3 3 4 5 5 5 6 9 

常用STL容器和算法

容器

  • vector:動態數組
  • list:雙向鏈表
  • deque:雙端隊列
  • stack:棧
  • queue:隊列
  • priority_queue:優先隊列
  • map:有序映射
  • unordered_map:無序映射
  • set:有序集合
  • unordered_set:無序集合

算法

  • sort:排序
  • search:搜索
  • count:計數
  • find:查找
  • transform:轉換
  • for_each:遍歷
  • unique:去重

示例:使用mapset

#include <iostream>
#include <map>
#include <set>

int main() {
    std::map<std::string, int> ageMap = {
        {"Alice", 30},
        {"Bob", 25},
        {"Charlie", 35}
    };

    std::set<std::string> namesSet(ageMap.begin(), ageMap.end());

    // 輸出map中的內容
    for (const auto& pair : ageMap) {
        std::cout << pair.first << ": " << pair.second << std::endl;
    }

    // 輸出set中的內容
    for (const auto& name : namesSet) {
        std::cout << name << std::endl;
    }

    return 0;
}

總結

通過以上步驟,你可以在Linux環境下輕松使用C++ STL。熟悉STL的容器和算法可以大大提高你的編程效率和代碼質量。

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