簡體   English   中英

簡化參數傳遞

[英]Streamlining Parameter Passing

我正在閱讀Code Complete並有一個關於“簡化參數傳遞”的問題。 作者說,如果您在多個例程之間傳遞參數,則可能表明需要將這些例程分解為一個類,該類將參數作為類數據共享。

這是否意味着如果我有幾個使用相同數據的單獨類,我應該創建一個使用該數據的新類,然后繼承以創建新類?

或者

這是否意味着如果我的程序中有一堆松散的例程,我應該繼續將它們放入一個類中並獲得封裝等的好處。

后者。 看起來他們正在談論這樣的案例:

void function_1(std::string& my_data);
void function_2(std::string& my_data);

void main() {
    std::string my_data = "SomeString";
    function_1(my_data);
    function_2(my_data);
}

可以改為:

class MyClass {
    std::string my_data;
public:
    MyClass(const std::string& str) : my_data(str) {}
    void function_1();
    void function_2();
}

void main() {
    MyClass obj("SomeString");
    obj.function_1();
    obj.function_2();
}

其中function_1function_2使用my_data字段,而不必每次都傳遞字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM