ちょっとC++使ってみない?

Filed in C/C++, prog

 最近割とちゃんとした文章書く気が起きなくて日記ばかり書いてた当blogですが。なんだかそろそろ文章短すぎてぐぐる広告様が臍曲げてるのでなんか書いてみようかと思うです。
 とりあえずプログラミングネタ行きますかね。一応うちのメインですから。ネタ取りはcppllの最近の投稿から。
 え~と、とりあえずまず質問。あなたはC++をやってみようと思いますか?
 C言語経験者とかプログラミング経験なしの人って上記の問いに「そう考えた事はあるけど難しいんでしょ?」という答えを返す事があるんですよね。つか最近そういう人多いらしい。
 そこで難しいんじゃないの? と思ってる方々に聞いてみたいのです。本当に難しいですか? って。
 わかんないですよね? まだやってないんですから。
 確かにちょっとかじって挫折した人もいるわけですよ。そういう人達は難しいからやだって言うんでしょうね。
 やっぱり聞いてみたいわけですよ。本当に難しいですか? って。
 まぁそんなこと言っておきながら長月も難しいと思ってるんです。けどね、使えないほどじゃないでしょ?
 使い切れないけど使える部分だけ使っても十分じゃないですか?
 cppllでも投稿されてたんですけど、C++のC言語部分とC++の便利な標準ライブラリ使うだけでずいぶん楽なんですよね。C言語より。
 正直文字列操作のためにmallocとかfreeとかreallocとかで頑張ってダングリングポインタに悩むの馬鹿らしいです。string使いましょ。
 ちょっとした事のために配列使いたいけど確保すべき量が決まってないからってmallocとかfreeとかreallocとかで頑張ってメモリリークに悩むとかやってられません。vector使おうよ。
 STLには他にもリストとかマップとかあってずいぶん楽。だって自分で作るの面倒でしょ?
 んで、自分で頑張って作ってもね。大抵ひとつの型にしか使えないんです。C言語感覚だとね。
 正直汎用性のためとか言ってvoid*とキャストの乱舞とかいやでしょ?
 C++ならテンプレートでそれ解決するんですよ。良いね、テンプレート。色んな意味で楽。
 バイナリサーチとか作ったことあります? クイックソートとか作ってみたことある人多いですよね? データ構造の中から特定の値を見つける関数とか作った事あるんじゃないですか?
 その辺りそう難しいこともない、入門書の類にも書いてありますしね。でもね、いちいちそのときそのとき作りたくはないですよね。STLにはその辺りもありますよ? 標準コンテナと組み合わせて楽チン楽チンですね。
 C言語ってポインタ怖いですよね。やろうと思えばWindowsのハンドル型みたいな似非スマートポインタも作れるけど面倒ですよね? 約束事も増えますし。
 でもC++ならスマートポインタありますよ? 標準ライブラリにもauto_ptrがあるし、Boost使えばもっと賢いのあります。凝ったやつならyaneSDK3rdとかLokiなんかにもありますね。ちょっとしたものなら自分で作ってもそんなに手間掛からないですし。
 C++の機能ってそれぞれひとつだけ見たらそんなに難しくないと思うんです。でもイディオムとして色々組み合わせる物だって言われるから難しい。
 じゃあもう難しいのは他人任せで行きましょう。C++って出来合いのライブラリが優秀なの多いですから。
 自分の手に負えない物使わなくても良いと思うんですよ。使いたくなってから頑張って考えてみれば良いんじゃないかな? やる気があるならなんとかなるでしょ?
 てな訳で食わず嫌いだったり食ってみた所が悪くて嫌いな方々。ちょっとC++使ってみませんか?
 お勧め書籍:Accelerated C++



Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Oenology Post Formats
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Posts Calendar
Click to view/hide
2005年3月
« 2月   4月 »
 12345
6789101112
13141516171819
20212223242526
2728293031  

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
アーカイブ
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
最近の投稿
Click to view/hide