Tôi biết rằng C++ 11 cho phép chỉ định biểu thức cho thời gian biên dịch thay vì thời gian chạy bằng cách sử dụng constexpr.Khi nào thì thiết lập hàm khởi tạo là constexpr?
Tôi biết rằng điều này có thể được thực hiện cho nhà xây dựng của một lớp học. Tuy nhiên, hàm khởi tạo này phải khởi tạo tất cả các thành viên của lớp, để được sử dụng như một constexpr (trong thời gian biên dịch), và bất kỳ hàm nào mà nó gọi cũng nên được đánh dấu là constexpr.
Nhưng khi nào một người thiết lập hàm tạo của mình thành một constexpr và có lợi ích nào khác ngoài việc tối ưu hóa nhỏ không?
Điều đó có nghĩa là, nếu tôi CÓ THỂ, tôi nên LUÔN thiết lập hàm tạo của tôi là constexpr?
Có thể có thể sử dụng nhiều đối tượng 'constexpr' làm tăng thời gian biên dịch. Và đó là * không * nói rằng nó không bao giờ đáng giá. – Snps