pass-by-reference

    1熱度

    4回答

    我剛學C++,以及從C來,一些函數調用我看到這本書讓我困惑: char a; cin.get(a); 在C,這不可能工作,如果你這樣做,將無法獲得輸出,因爲你是通過價值傳遞,而不是通過引用,爲什麼這在C++中工作?引用和取消引用使得隱式(編譯器知道cin.get需要一個指針,所以它被引用)?

    6熱度

    6回答

    將參數Value Type傳遞給c#中的函數是通過值,除非您在參數上使用ref或out關鍵字。但是這也適用於Reference Types? 具體而言,我有一個功能,需要一個IList<Foo>。傳遞給我函數的列表是否包含其包含對象副本的列表副本?或者對列表的修改是否也適用於呼叫者?如果是這樣 - 我可以通過一個聰明的方式來傳遞一份副本嗎? public void SomeFunction()

    2熱度

    5回答

    我有一個類「skImage」。這個類有一個私有變量(與公開它的公共屬性) private Image _capturedImage; 這個類的構造函數的樣子: public skImage(Image captured) { _capturedImage = captured; } 它還具有以下方法: public bool Invert() {

    4熱度

    3回答

    我們有該裝置使用含有結構的STL矢量一個結構,像這樣一個C++庫: struct Params { // values... } struct Settings { std::vector<Params> m_params; // values... } 我正在寫庫中的CLI的包裝,我想對上述結構類型的等同物。我就一直在想,用列表作爲載體的等價物,像

    1熱度

    4回答

    好吧...我有一個C#.dll是單例的情況。現在,我想要做的就是當singletonInstance被實例化時,能夠提供對任何可能啓動的其他應用程序的引用。所以,我查了一下NamedPipes,這個工作將會奏效 - 除了一件事,它必須是跨平臺的,或者是平臺獨立的。我有一個解決方案,但我很難找出是否可以通過句柄或其他方法派生對singletonInstance的引用? 既然已經有了一些評論和問題,我

    1熱度

    3回答

    我今天一些審查,當我遇到以下約定: TestParam(1); function TestParam(p){ var p = p + 1; alert(p); // alerts '2' } 現在,很明顯,開發商不是故意要在函數內delcare「P」,而不是也許意味着: p = p + 1; 但代碼仍然工作,即驚動了值爲「2」。所以它讓我思考。在以下情況下會發生什

    4熱度

    8回答

    我不是socket編程老手,所以在分析代碼,我在一個數據庫API發現我碰到這個代碼就 public static void WriteInt(int i, NetworkStream bufOutputStream) { byte[] buffer = new byte[IntSize]; WriteInt(i, buffer, 0); bufOutp

    9熱度

    4回答

    有沒有在C++中通過引用比通過值更昂貴的情況?如果是這樣,那麼情況會是怎樣?

    1熱度

    1回答

    我試圖將我的字符串轉換爲雙精度動態數組。我的字符串的每個空格表示一列,每個「;」代表了一個新的行。當此代碼運行時,它僅適用於* F [0] [col]。當它到達* F [1] [col]時,它給我提示錯誤「CCode.exe中的0x00e4483c未處理異常:0xC0000005:訪問衝突讀取位置0xcccccccc」。有人知道爲什麼 void main(void) { double *

    29熱度

    5回答

    我想知道,當你只是讀一個變量,或者它應該總是作爲一個值傳遞的時候,它是傳遞引用的好習慣。 用實施例通按引用: $a = 'fish and chips'; $b = do_my_hash($a); echo $b; function &do_my_hash(&$value){ return md5($value); } 實施例與通過噪聲值: $a = 'fish and c