- meta[meta header]
- std::meta[meta namespace]
- function[meta id-type]
- cpp26[meta cpp]
namespace std::meta {
consteval bool has_default_member_initializer(info r);
}- info[link info.md]
デフォルトメンバ初期化子を持つかを判定する。
rがデフォルトメンバ初期化子を持つメンバ変数を表す場合にtrueを返す。
#include <meta>
struct S {
int x;
int y = 42;
};
int main() {
static_assert(!std::meta::has_default_member_initializer(^^S::x));
static_assert(std::meta::has_default_member_initializer(^^S::y));
}- C++26
- Clang: ??
- GCC: 16 (
-freflectionオプション指定) [mark verified] - Visual C++: ??