compile-time

    1熱度

    2回答

    時說: String str = "hello"; Object obj = str; System.out.println(str==obj); 結果是真實的,因爲它指向內存中的相同的對象,這是有道理的。但如果我說: obj.indexOf("h"); 或者任何子類的方法,我得到「無法找到符號」。它們仍然指向同一個對象,所以在編譯期間發生了什麼,使得不同類型的引用對象

    0熱度

    1回答

    所以我在這裏就一個關於堆棧空間的基本問題。我讀過編譯時必須知道堆棧中的變量,但我不確定這是多麼準確。讓我們這個片段: int main(int argc, char*argv[]) { int numProcesses = argv[1]; int arr[numProcesses] = {}; ... } 當然,numProcesses的價值,和ARR [],不能在編譯時,編譯器知

    1熱度

    1回答

    鑑於層次: struct base {}; struct a : public base {}; struct b : public base {}; 我要填寫vector<base*> vecBase和vector<a*> aVec使用此項功能: template <typename T> void foo(T* bar) { if (is_base_of_v<decltyp

    3熱度

    1回答

    所以我知道,如果我定義了一個const稔將評估什麼我給它分配在編譯的時候,所以我可以做這樣的事情: proc compileTimeCode: bool = # Put code here return true const _ = compileTimeCode() ,然後我可以把我的代碼在compileTimeCode proc中。 這個工作,但似乎凌亂,過於複雜和

    -8熱度

    1回答

    我看過一些博客和教程,說它可能發生在編譯時或運行時間,但我正在做一個練習測驗,這是我的選擇。 a。編譯時間 b。運行時間 c.debug時間 d。早綁定時間 e。以上都不是< ---我的選擇。

    1熱度

    2回答

    我想阻止某些函數被調用。讓我們忽略通過函數指針或其他東西來調用函數的情況,只關注直接函數調用的情況。我可以用= delete來做到這一點。但是,發佈的診斷信息不夠豐富。我考慮使用static_assert,您可以使用它提供自定義診斷消息。我在函數體中放置了一個static_assert(false, ...)語句,希望在函數被調用時觸發它。但是,事實證明,即使該函數未被調用,static_asse

    4熱度

    3回答

    我想在我的代碼中進行編譯時檢查,以確保給定的類超載()運算符,該運算符使用const char *和size_t作爲參數,並且其返回類型爲無符號整數。 我試圖從StackOverflow上採取了一些代碼片段,但我不滿意我已經寫了解決方案: #include <type_traits> #include <cstdint> #include <iostream> #include <memor

    0熱度

    2回答

    編譯時間。如果在編譯時知道進程將在內存中駐留 ,則可以生成絕對代碼。例如,如果您知道用戶進程將從位置R開始駐留的 ,則生成的 編譯器代碼將從該位置開始並從那裏向上延伸。如果在 的某個較晚的時間,的起始位置發生變化,那麼將需要 重新編譯此代碼。 MS-DOS .COM格式的程序在編譯時綁定在 。 什麼可以是起始位置改變的原因?由於上下文切換/交換,它可以是 嗎? 絕對代碼是指二進制代碼嗎? 加載時間

    0熱度

    1回答

    考慮下面的例子: struct mystruct { int a; int b; int c; }; int main() { mystruct x; std :: cout << reinterpret_cast <size_t> (&(x.b)) - reinterpret_cast <size_t> (&x) << std ::

    0熱度

    2回答

    我想編寫一個簡單的多項式類,它可以接收一系列的係數並將其擴展爲編譯時的函數,所以我不需要在運行時循環係數。我想要做這樣的事情: template <PARAM_TYPE, PARAMS> class P { public: PARAM_TYPE eval(PARAM_TYPE p){ //Does PARAMS[0] * pow(p, PARAMS.length() -1