В C ++ 17 оба они идентичны.До C ++ 17, однако, есть небольшая разница в следующем:
Нижеследующее является конструктором копирования.Это создаст анонимную сущность, а затем скопирует в ent2
, хотя копия может быть опущена при условии copy epsilon .
Entity ent2 = Entity(10);
Нижеприведенная копия является прямымПамять для ent1
будет выделена, а значение 10 будет помещено в область, указанную конструктором.
Entity ent1(10);
Причина, по которой прямой предпочтительнее, до C ++ 17, заключается в том, что это не тактребуется дополнительный шаг копирования.Это преимущество отсутствует в C ++ 17.