ページ 11

C++の基本文法について

Posted: 2011年4月12日(火) 22:12
by kkk
Cに関数ってのがありますよね?
なぜ関数をいくつもつくるのでしょうか?
ひとつのところにただただ命令をかいていけばいいのじゃないでしょうか?

素人意見ですが答えてくれると幸いです

Re: C++の基本文法について

Posted: 2011年4月12日(火) 22:26
by h2so5
関数を使わない場合、同じような処理を何度も実行したい時に、
その都度処理を書くのが面倒になってしまいます。
もちろん必要がなければ無理に関数にしてしまう必要は有りませんが。
kkk さんが書きました: ひとつのところにただただ命令をかいていけばいいのじゃないでしょうか?
ちなみにその『命令』も関数なので関数がなかったらプログラムが書けません。
(アセンブリ使うなら別かもしれませんが)

Re: C++の基本文法について

Posted: 2011年4月12日(火) 22:35
by 暇なプログラマ
関数もなしに、書いていくと・・・・・関数の素晴らしさがわかって来るよ。

長くなってくると、同じことを何度も何度も書くのよ。
何度も同じ処理を書くのに時間が馬鹿にできないし、
いざ、修正を行うと、すべてを見直さないといけない。(当然見落としが多くなる)


第一、同じ処理を書くのが面倒
第二、処理ごとに分ければ、見やすくなる、
第三、修正が簡単
 ・
 ・

といろいろと出てくるのよ。
特に!第二、と第三、

まぁ一人だけでやるぜ!!!
書いたことすべて覚えているぜ!
って人はすごいけどね。

ちなみに、、、printf(); ←これも関数よ! 

Re: C++の基本文法について

Posted: 2011年4月13日(水) 00:08
by box
kkk さんが書きました: ひとつのところにただただ命令をかいていけばいいのじゃないでしょうか?
1回だけしか使わないような使い捨てのプログラムとか、
自分さえ内容がわかっていればいいようなプログラムとか、
チームで分担して開発しないようなプログラムとかだったら、
main関数やWinMain関数にすべての処理を押し込んでもいっこうにかまわないと思います。

# 基本文法について、というタイトルと質問内容とが合ってるのかな?

Re: C++の基本文法について

Posted: 2011年4月13日(水) 00:57
by たかぎ
関数を一切使わずに、たとえばHello, World!を書いてみれば、それがどれだけ大変かわかります。
具体的には...

コード:

int main(void)
{
  const char *s = "Hello, World!\n";
  while (*s != '\0')
  {
    int c = *s++;
    /* 1文字出力 */
  }
  return 0;
}
さて、ここでコメントにしてある1文字出力をどう実現しますか?
putcharなどの関数は使えません(関数を一切使わずに書くわけですから)。
だとすると、ハードウェアを直接制御するしかなくなります。
たとえば、VRAMや制御レジスタに直接書き込む必要が出てくるわけです。

関数が使えないのでOSの機能を使うことは一切できなくなります。
それとも、MS-DOSのようにソフトウェア割り込みやトラップをインラインアセンブラで記述しますか...