cuốn sách gpt4 ai đã làm

Liệu giá trị của biến chuyên môn có được biết/không xác định tại thời điểm biên dịch hay không

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 16:47:23 27 4
mua khóa gpt4 Nike

Làm cách nào để chuyên biệt hóa hàm mẫu nếu giá trị của một trong các tham số của nó được biết/không xác định trong quá trình biên dịch (trước khi thực sự biên dịch và chạy chương trình)?

Tôi vẫn chưa biết phải làm thế nào.

Ý tưởng 1:

#include 
#include
int chính(void){
int a; // giá trị của a không được biết tại thời điểm biên dịch
bool b = (a == a); // giá trị của b được biết tại thời điểm biên dịch.
std::is_signable< constexpr bool, bool >::value
}
//g++ magic.cpp -std=c++14
//lỗi: sai số lượng đối số mẫu (1, phải là 2)
// std::is_signable< constexpr bool, bool >::value

Ý tưởng 2:

#include 
#include
int chính(void){
const int a=1;
int b = (a == a);
std::cout << __buildin_constant_p (a) << std::endl;
std::cout << __buildin_constant_p (b) << std::endl;
}
// in 0 và 0.

câu trả lời hay nhất

Vâng, tôi đoán ý bạn là thông sốkiểu, Phải? Giá trị không quan trọng đối với các chuyên môn mẫu một phần...

Vì vậy: Điều này sẽ không hiệu quả.

Các loại tham số của mẫu phải được biết tại thời điểm biên dịch. Trình biên dịch phải tạo mã chính xác bằng cách nào khác?

Đối với các chuyên môn mẫu từng phần, loại này phải được biết tại thời điểm biên dịch vì lý do tương tự.

Về c++ - liệu giá trị của biến chuyên môn có được biết/không xác định tại thời điểm biên dịch hay không, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/39742883/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress