掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBの「with」のような処理をC++で行うには? (ID:63516)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ちょっとあがいてみました. これだとWITHの中でbreakとか使えませんが. #include <string> #include <iostream> #include <boost/typeof/typeof.hpp> // boost sandboxとか参照 #include <boost/type_traits/add_reference.hpp> #include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() struct Hoge { int a; std::string b; }; BOOST_TYPEOF_REGISTER_TYPE(Hoge) #define WITH(obj) \ for (bool f = true; f;) \ for (boost::add_reference<BOOST_TYPEOF(obj)>::type _ = obj; f; f = false) int main() { Hoge hoge; WITH(hoge) { _.a = 3; _.b = "test"; } std::cout << hoge.a << std::endl; std::cout << hoge.b << std::endl; }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.