今日
http://oshiete1.goo.ne.jp/kotaeru.php3?q=119986
で回答しました。
私としては、質問に対する最もまともな回答をしたつもりでしたが、
反応すらなかったので、「あれ? なんか間違ってんのかな?」と
思ったしたいです。
で、普段からC++でプログラム組んでいる人に伺いたいんですが、
これって質問に対する答えとして相当間違った方向なのでしょうか?
No.1
- 回答日時:
読んでみました。
確かに一番無難そうな回答ですね。
ただ、補足やお礼を見てみると、「お早い回答」と
書かれているので、もしかしたらkokucho81様が回答
したのとほぼ同じ時間にお礼を書き込んでいて、
質問者の方は、kokucho81様の回答を読んでいない
のではないでしょうか?
書き込んでいる間の時間というのは、表示される
ページが更新されないので、結構こういうことは
起こりがちです。
Pointがつかない・・・だから回答しないとならずに、
誰か困っている人のためとこれからもがんばって
回答していれば、質問者の方にも心は伝わると
思いますよ。
#別に回答するのは競争ではないと思いますし・・・
#まぁ、Pointがもらえればうれしいのは確かですが。
ではでは☆
Kanata様。
私のわがまま勝手な疑問にアドバイス頂きありがとうございます。
>書き込んでいる間の時間というのは、表示される
>ページが更新されないので、結構こういうことは
>起こりがちです。
そうですね~。もしかしたら質問者の方がお礼をカキカキしている間に、
私がコネコネ回答していたのかもしれないですね~。(はぅ~
とりあえず、回答の方向性としては、それなりに妥当性の有るものでは
あったということが確認できて良かったです。
>Pointがつかない・・・だから回答しないとならずに、
>誰か困っている人のためとこれからもがんばって
いえ、より一層回答の「質」を高めていこうと思いました。
目指すところは、「500回答で5000点」なので。。。
#私の勝手な目標なのですが、そうやって、
#自分なりに目標点立ててやるのもありかなと。。。
#って話それてる。。。(= =;)
No.2
- 回答日時:
質問者の質問や補足からは「C++」という言葉は一言も
出ていなかったので「C++」ではなく「C」での
質問であると(解答者のみなさんが)判断したんだろうと想像します。
「C++」でという条件がある場合は、演算子のオーバロードのほうがより最適な解答だと、私も思います。
shuyamakawaさま、アドバイスありがとうございます。
>質問者の質問や補足からは「C++」という言葉は一言も
>出ていなかったので「C++」ではなく「C」での
そうですね。そこは私もおもいました。
少なくとも質問者の方が知っているのはC言語の範囲であろうとは思いました。
と、同時に、環境等々において、何も記述なさってはいなかったので、
#「多分WindowsでVC++かBC++」あたりを使ってC言語勉強中かな~
#「そうでなければ、学校でUNIXのGNU GCC」をつかって勉強中なのだろうか。
、、、うーむ、とすれば、とりあえず(本人はC++使ってないけれど、
多分C++が動く環境だろうから)カット&ペーストで使えるように
回答しとくのが一番かな~。。。
と思ってあんな感じになったのですが、、、撃沈でした。。。
とりあえず、「C++なら妥当」と言って頂いたので、
その点では、安心できました。
No.3
- 回答日時:
みなさん言うとおりCのみの話でありC++ではないのでしょう。
C++に慣れるとあのコードで普通ですね。
Cのみでも以下のようにすればできると思うんですが、
あっさり締めきられちゃいましたね(笑)
struct point{
union {
struct {
int x;
int y;
int z;
};
int member[3];
};
};
void pointplus(struct point *pa, struct point *pp1, struct point *pp2)
{
int i;
for (i = sizeof (pa->member) / sizeof (int) - 1; i >= 0; i --)
pa->member[i] = pp1->member[i] + pp2->member[i];
}
mkii さん、アドバイスありがとうございます。
おぉ!? これは? 無名の共用体ですね。。。たしかに、これで
member配列に入れた値が、x,y,zにてアクセスできますが。。。
(ちょっとこれは思いつかなかったです。。。)
しかし、、結局
1. pointplus(足し先点、足し元点1、足し元点2)
という形ですから、
2. 足し先点 = pplus(足し元点1、足し元点2)
と大して変わんない気もするのですが、、、
なんかすごい(記述上などの)利点があるのでしょうか?
(私の勉強不足ですか?)
No.4ベストアンサー
- 回答日時:
私のコードの利点は
構造体のメンバを増やしても関数pointplusを変更しなくてもよい
です。
例えば、
struct point{
union {
struct {
int x;
int y;
int z;
int z2;
};
int member[4];
};
};
としても関数pointplusは変更せずに済みます。
それから、以下の2つのパターンですが、
1. pointplus(足し先点、足し元点1、足し元点2)
2. 足し先点 = pplus(足し元点1、足し元点2)
2のパターンだと、復帰値で構造体のメンバのコピーが発生するので、
1のパターンの直接変更の方が無駄がありません。
あ、そうかなるほど。。。。
良く考えると、(技法としては一見特殊に見えますが)考え方は至ってしごくまっとうですよね。
メンバーに名前をつけると共に、テーブル化して走査できるようにしてしまう、
こんな手法ってあったんですね。。。(しらんかったですまじで。。。)
うーむ。妙なところで妙な収穫を得ましたです。。。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 法学 間違った回答のベストアンサーの問題 19 2023/05/17 11:58
- 日本語 自分の求める回答をしてもらえない原因は?(+教えてgooの使い方について) 16 2022/04/24 13:26
- 教えて!goo 削除要項どうなってやがるんだ!! 5 2023/04/28 17:24
- その他(社会・学校・職場) ここの質問で驚いた学校の先生の程度の低さ 5 2022/12/04 16:27
- 教えて!goo 教えてgooへの投稿(質問・回答)は、語彙力の向上に役立つと思いますか? 11 2022/11/06 10:43
- その他(悩み相談・人生相談) ネットの中で過去質問や過去回答を見られても良いように。自分を良く見せかけたりする人もいる? 2 2022/10/29 11:38
- 教えて!goo 多数の重複質問・コピペ質問・類似質問を見かけるが運営に通報しても削除しないのはなぜでしょうか? 7 2023/05/07 09:44
- 教えて!goo 質問は意外と楽しい。結構快感ですよね。いままでなぜ質問しなかったんだろう。 6 2023/04/29 08:20
- 教えて!goo 他の人の質問で、自分が書いた短文を おかしげれば、書き直して下さい。と云う 質問が有りました。先に、 11 2023/04/19 18:03
- 教えて!goo 教えて!gooで「ニートの方居ますか?」という質問はタブーでしょうか? 9 2023/05/10 11:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
比較回数と交換回数表示について
-
nCmの関数
-
複数桁10進数の*桁目だけを抽出...
-
#define _CRT_SECURE_NO_WARNIN...
-
C言語 配列と関数の練習問題
-
c言語
-
std::set<int> で、ある値が何...
-
卒業研究でよく分からないとこ...
-
C言語 エラーの原因がわからな...
-
DLLをGetProcAddress()で実行で...
-
【C++】関数ポインタの使い方
-
read関数をノンブロッキングで...
-
C言語における対称行列の作り方...
-
構造体の勉強中です 合計点の高...
-
C言語です。
-
C言語での引数の省略方法
-
困ってます…nCrを求めるC言語...
-
C++でvectorにテキストファイル...
-
プログラミング
-
素数 再帰関数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語での引数の省略方法
-
#define _CRT_SECURE_NO_WARNIN...
-
「指定されたキャストは有効で...
-
C言語 配列と関数の練習問題
-
複数桁10進数の*桁目だけを抽出...
-
(int *)の意味
-
if と配列の組み合わせ
-
ラップ関数とはどんなものですか?
-
卒業研究でよく分からないとこ...
-
【C++】関数ポインタの使い方
-
c言語
-
足して100になるような乱数のア...
-
C言語初心者です、、、お助けく...
-
数字列を3桁ごとにカンマで区切...
-
C言語 エラーの原因がわからな...
-
実数の整数部,小数部の取得
-
課題でつまってます・・・
-
商と剰余を同時に求める(C言語)
-
C言語の配列をC++のvectorに高...
-
std::set<int> で、ある値が何...
おすすめ情報