Tôi nghĩ rằng điều đó là không thể nhưng tôi muốn hỏi bạn trước khi từ bỏ nó.Thủ đoạn Constexpr
Tôi muốn một cái gì đó giống như tăng constexpr.
#include <iostream>
constexpr int inc() {
static int inc = 0;
return inc++;
}
class Foo {
static const int Type = inc();
};
class Foo2 {
static const int Type = inc();
};
int main() {
std::cout << "Foo1 " << Foo1::Type << st::endl;
std::cout << "Foo2 " << Foo2::Type << st::endl;
return 0;
}
tôi muốn gọi nó vào một số lớp không tự (tôi sử dụng CRTP cho điều đó), để cung cấp cho một loại khác nhau để mỗi người trong số họ, nhưng loại cần phải được const. Có cách nào để đạt được một cái gì đó như thế trong C++? (C++ 17 + TS)
* "Tôi nghĩ rằng điều đó là không thể" * Về cơ bản mọi thứ đều có thể với các mẫu C++, đôi khi nó chỉ phức tạp ngu ngốc. –
Tôi không chắc chắn, nhưng tôi nghĩ rằng nó có thể là một phần của C++ 17, nhưng tôi có thể sai – holmicz
Có các macro 'COUNTER' không chuẩn, và có các triển khai các tác dụng phụ biên dịch ([Filip Roseen ] (http://b.atch.se/) đến với tâm trí). Sau này là cực kỳ xấu xí, mặc dù. Tôi muốn thử một cách tiếp cận khác. – dyp