【初心者歓迎】C/C++室 Ver.43【環境依存OK】at TECH【初心者歓迎】C/C++室 Ver.43【環境依存OK】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト288:デフォルトの名無しさん 07/10/05 22:49:15 C++で下みたいな方法ってよろしくないですかね・・・ 配列に入れた座標データを,オペレータオーバーライドを使って計算したいんですが 要素毎にコンストラクタ呼び出しは冗長になるので 問題点が判らないので指摘をお願いします #include <stdio.h> float data[] = {1., 2., 3., 4., 5., 6.}; class Data { public: // use default ctor float x, y, z; Data& operator+=(const Data &right) ....省略... }; int main() { Data *ptr; ptr = reinterpret_cast<Data*>(data); printf("%f %f %f\n", ptr[0].x, ptr[0].y, ptr[0].z); printf("%f %f %f\n", ptr[1].x, ptr[1].y, ptr[1].z); return 0; } 289:デフォルトの名無しさん 07/10/05 22:53:53 >>287 勝手に追加されちゃうから無理じゃね? std::mapを包含したクラス作ってインデクサの中で例外投げるとかしか思いつかない 290:デフォルトの名無しさん 07/10/05 23:00:43 >>289 stringの方をラッピングするのもアリじゃね? 書く量としてはその方が少なくなりそう。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch