[過去ログ]
C++相談室 part165 (1002レス)
C++相談室 part165 http://mevius.5ch.net/test/read.cgi/tech/1698705458/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
112: デフォルトの名無しさん (ワッチョイ e1f0-JZT3) [sage] 2024/01/01(月) 03:01:35.02 ID:5pNbZa2B0 >>104 まず自分でコード書いてみ よろしくないところは指摘してやるから http://mevius.5ch.net/test/read.cgi/tech/1698705458/112
120: デフォルトの名無しさん (ワッチョイ e95f-pFp4) [sage] 2024/01/03(水) 23:34:38.84 ID:w4EAqTeZ0 >>112 とりあえず書いてみたけどどうですかね? template<std::size_t buf_size> struct A { private: struct base_ { virtual ~base_() {}; }; template <typename F> struct derived_ : base_ { F f_; derived_(F f) : f_{ std::move(f) } {} }; base_* p_; alignas(alignof(std::max_align_t)) uint8_t buf[buf_size]={0}; public: A() :p_(nullptr) {}; template <typename F> void assign(F f) { if (p_ == nullptr) { p_ = ::new (buf) derived_<F>{std::move(f)}; } } //コピーコンストラクタ A(A& src) { p_ = ::new (buf) decltype(src.*p_); //ここが怪しい }; }; http://mevius.5ch.net/test/read.cgi/tech/1698705458/120
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.037s