0
考慮下面的線(升壓/ C++):Boost.Asio如何創建一個大小等於數組大小的緩衝區對象?
char d1[128];
size_t bytes_transferred = sock.receive(boost::asio::buffer(d1));
的Boost.Asio的文檔指出大小128的緩衝器被創建。
但是,Boost如何確定數組的大小呢?我已經閱讀了幾個問題,答案是無法在C++中確定數組的大小。
對於Boost的「新手」,您能否詳細說明您的答案,並提供更多詳細信息? 在這個例子中創建的數組是「純」的C++數組,它不是一個Boost數組? – Shuzheng
謝謝!像char [5]這樣的數組大小是否存儲在內存中?爲什麼N被聲明爲模板參數?模板是「template」 - 編譯器在編譯時是否將N變量綁定到數組的大小,還是在運行時完成? –
Shuzheng
只要您傳遞了附加信息,它就在編譯時可用。在將'char [N]'轉換爲'char *'後,它不再可用。 –