簡體   English   中英

制作 function 的編譯時和運行時版本的最佳方法

[英]Best way to make both a compile-time and runtime version of a function

我有一個 function 將由編譯時和運行時函數( gtest和 python ctypes )調用。 我需要一個模板版本和一個模板變量作為 function 參數的版本。 例如

template<int A, int B, int C>
void function_compiletime(int a, int b, int c) {
    // code section 1
}

void function_runtime(int a, int b, int c, int A, int B, int C) {
    // code section 2
}

其中// code section 1// code section 2相同。 我很小心,我可能會不小心更改// code section 1中的內容,而不是// code section 2中的內容。 如何強制要求函數的主體應該相同?

制作 function 的編譯時和運行時版本的最佳方法

如何強制要求函數的主體應該相同?

通過定義單個 constexpr function:

constexpr void
function_runtime(int a, int b, int c, int A, int B, int C)
{
    // code section
}

暫無
暫無

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

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