cost 389 ms
C ++中的功能模板?

[英]Function templates in c++?

對於學校,我有一個任務來創建功能模板,並將用戶輸入用於動態內存。 我的代碼不起作用,但是老師說這是正確的,只是我的編譯器不起作用。 這是我從編譯器得到的錯誤: 錯誤:從'int'到'int *'的無效轉換[-fpermissive]鍵= array [I]; 我使用的是Mi ...

內聯模板專業化

[英]Inlining Template Specialization

如果我有一個標題foo.h,我將其包含在我的項目中,當它包含的內容時,它似乎工作正常: 但是當我向foo.h添加一個specalization時,我得到一個定義規則(ODR)錯誤: 顯然,我可以通過inline專業化來解決這個問題。 我的問題是,為什么我需要? 如果模板沒有違 ...

模板功能取決於非類型參數

[英]Template function dependent on non-type parameter

是否可以基於非類型參數定義重載模板函數? 以下情況: 現在可以通過非類型參數更改SetupMem的返回值嗎? 例如: 這樣, TemplateCaller()不會使用所需的模板參數顯式調用SetupMem (因此避免類似: SetupMem<uint64, size ...

std :: vector的比較運算符 <T> 無法找到T的比較運算符

[英]Comparison operator for std::vector<T> fails to find comparison operator for T

以下非常簡單的代碼將無法編譯 https://godbolt.org/g/zn6UgJ 不會編譯我的任何編譯器。 而以下 https://godbolt.org/g/o4pc1b 編譯得很好,這讓我覺得std::vector&lt;T&gt;比較運算符在T的命名 ...

C ++模板類,模板成員友元函數匹配規則

[英]C++ template class, template member friend function matching rules

我有一個帶有模板化友元函數聲明的模板化類,當用更直接但看似相同的表達式表示時,它沒有簽名匹配: 鏈接到在線編譯器的示例 Derived&lt;R(Args...), T&gt;內部成員定義(例如,在bar()的主體中),類型匹配,增加了我的困惑: 是否存在圍繞模板類模板成員 ...

C ++函數模板專業化如何工作?

[英]How does C++ function template specialization work?

我正在閱讀C ++ Primer(第5版) ,16.5,定義函數模板專業化,並對作者給出的示例感到困惑,讓我們看一下以下模板函數: 及其專業版本: T類型將是const char * ,但是我不認為該函數可以是模板函數的特殊化版本,因為我認為const char* const & ...

使用模板的運算符重載

[英]operator overloading using template

我正在編寫一個名為Double的類,該類擴展了c ++中的內置類型“ double”。 它具有類型為“ double”的數據成員。 對於Double類,我需要重載許多基本的算術運算符,例如“ +”,“-”,“ *”,“ /”。 例如,“ +”運算符以這種方式重載: 和“-”運算符以 ...

為什么std :: swap不使用swap idiom?

[英]Why is std::swap not using swap idiom?

正確使用std :: swap是: 它有點冗長,但它確保如果a,b有更好的交換定義它將被選中。 所以現在我的問題是為什么std::swap沒有使用這種技術實現,所以用戶代碼只需要調用std::swap ? 所以這樣的事情(為了簡潔而忽略noexcept和約束): ...

帶有可變參數的lambda的模板函數

[英]Template function which takes lambda with variadic parameters

教育任務:想要編寫一個接受函數對象及其參數的函數,並使用完美轉發進行調用: 編寫了函數: 但是出現錯誤: 語法有什么問題? 怎么修? ...

為地圖創建模板功能 <T1,T2> 迭代器

[英]Create a template function for map<T1,T2> iterators

因此,我嘗試制作4個模板功能來執行以下操作:對通用容器求和,對映射求和,對通用容器迭代器求和和對通用映射迭代器求和。 我已經做到了前三個,但是我不知道和映射的迭代器。 這是我的代碼: Sum.hpp TEST.CPP: 當我運行Sum()函數時,它將嘗試調用Sum Ge ...

檢查模板函數的數據類型

[英]Checking Datatypes of Template Function

我正在嘗試基於輸入模板創建一個函數。 它讀取一個文件。 我基本上只是檢查所需的輸入是否為字符。 如果是,那么我們將復制讀取的字符,但如果不是,我們將復制 bool/int/float/double。 也許我只是錯誤地使用了 std::is_same。 我的代碼無法編譯,因為它看起來無法識別檢查 ...

函數重載與std :: function和泛型lambdas:std :: string優於int

[英]function overloading with std::function and generic lambdas: std::string preferred over int

令人驚訝的是,當嘗試編譯它時,由於lambda函數的auto參數已解析為std::string ,並且編譯器在調用test時不知道如何將std::string轉換為int或Widget ,因此會出現錯誤。 。 但是,我不知道為什么當第一個調用成功時,編譯器選擇了第二個invok函數而不是第 ...

為什么不將自動向下轉換應用於模板函數?

[英]Why isn't automatic downcasting applied to template functions?

有人問這個關於字符串附加的問題 。 這是string s; s = s + 2; string s; s = s + 2; 沒有編譯。 人們給出了答案,說明operator+被定義為模板函數而operator+=不是,因此不應用自動向下轉換( int(2) to char(2) )。 ...

在庫中隱藏模板函數聲明

[英]hide template function declaration in library

首先,大局。 我有一個Logger課。 我為該類創建了一個簡化的接口,並為該接口創建了一個庫。 我想使用pimpl隱藏Logger類的實現,因此用戶不需要Logger的標頭。 我在使用模板功能時遇到了麻煩... Logger標頭的定義如下 第一版 我已經創建了這樣的 ...

執行模板參數包所指向的所有方法

[英]Executing all Methods pointed to by a Template Parameter Pack

我可以制作一個方法(=成員函數)指針的模板參數包嗎? 如果是,是否可以使一個(模板)函數執行其模板參數包中的所有方法? 簡化: 指定方法的執行順序無關緊要。 所有方法指針都具有相同的簽名(例如return bool ,具有相同的基類,不帶參數) ...

C ++ 1z標准如何定義模板函數聲明中屬性的正確位置?

[英]How does C++1z standard define the correct location of attributes in a template function declaration?

我注意到C ++ 11和C ++ 14標准中的18.8 / 1節在&lt;exception&gt;標頭摘要中包含以下聲明: 在最新的C ++ 17草案中,相同的聲明顯示為 這是否意味着在C ++ 17中更改了屬性的語法,還是僅僅糾正了前一行的錯誤? 在7.6和14.5.6中, ...

從C文件調用模板函數

[英]Calling a template function from a C file

我知道模板不是用C定義的。但是,就我而言,我有一個用C ++編寫的API,供用C編寫的應用程序使用。我希望在該API中添加模板功能。 該函數在abc.cpp中定義如下: abc.hpp中的聲明如下: 從xyz.c調用此函數為: 但是,它在abc.cpp和abc.hpp中 ...

具有專用功能的分體功能類型

[英]Pull Apart Function Type With Specialized Function

這個問題的答案使用類模板來區分函數類型: 當我研究這里所做的事情時,我試圖重寫function_args 。 我嘗試使用一個函數來執行此操作,以消除對decltypeargs模板的需要。 但是發現自己陷入了語法錯誤: 我的希望是調用decltype(myTry&l ...


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