Символ почти всегда автоматически для спасения.
Я не уверен, что вы хотели, чтобы T был, так как это неясно в примере кода. Я использовал double
, потому что ... почему бы и нет.
int main() {
auto n = int{};
auto m1 = B<double>(A{n});
auto m2 = B<double>(A(n));
}
Отказ от ответственности: примерно половина разработчиков C ++, с которыми я общаюсь в реальной жизни (на работе), абсолютно презирает почти всегда автоматически, Мне это нравится (но я много сделал C# с var
, F # и TypeScript, где все как обычно; и шаблон кода C ++ и lambda-with-auto), но есть много , кто яростно против авто. Если вы решите использовать почти всегда автоматически в своем собственном проекте, я настоятельно призываю вас обсудить это с коллегами и получить консенсус команды, прежде чем идти по этому пути.