首頁>Club>
9
回覆列表
  • 1 # 天潤工程有限公司

    鑑於這個問題的 Tag 有 C++,一律使用 memcpy 和 memcmp 還是有風險的。比如一個 std::string 的 2 維陣列……

    理論上安全且高效的複製應該用 std::copy,而比較相等則用 std::equal。

    不過多維陣列的用法寫起來略扭曲……例如:

    #include <algorithm>

    #include <iostream>

    #include <string>

    int main()

    {

    std::string source[2][3] = {

    { "a", "b", "c" },

    { "A", "B", "C" }

    };

    std::string destination[2][3];

    size_t numElements = sizeof(source) / sizeof(source[0][0]);

    // 複製

    std::copy(&source[0][0], &source[0][0] + numElements,

    &destination[0][0]);

    // 比較

    bool isEqual = std::equal(&source[0][0], &source[0][0] + numElements,

    &destination[0][0]);

    std::cout << "isEqual: " << isEqual << std::endl;

    }

  • 中秋節和大豐收的關聯?
  • 你會瞧不起玩遊戲的人嗎?