07/04/07 15:14:33
>>877
そだな。少し笑えた。
クラスの前は、関数を資産化なんてことも流行ったが、
所詮使い捨て。
既存を理解してる時間があったら書いたほうが早い。
895:デフォルトの名無しさん
07/04/07 15:35:15
>>893
DBの種類によると思うけど、DB側の設定で解釈できるようになる場合があるよ。
それか、クライアント側OSの地域の設定で日付の表示形式を'2007-01-01'で試してみたら。
896:デフォルトの名無しさん
07/04/07 20:47:59
コネクションストリングでDateTimeFormatとか指定してもダメなんだろうか・・
897:デフォルトの名無しさん
07/04/07 21:56:23
VC++2005 WinXPProを用いているものです。
プログラミングそのものではなく、関連ツールに関する質問です。
実は、あるソースコードのバグを修正する仕事を請け負いまして、それをやっているところなのですが、凄いコードなんです。
もう、バグだらけで……例えば、
hFile = ::CreateFile(略);
//ファイルオープンに失敗したとき
if (hFile == NULL)
{
//略
}
などと言うコードが平気で書いてあります。CreateFileで失敗したときにNULLは返ってこないのですが……
こんなコードを普通に書いているんです。あとよくありがちなのが、
char* pTemp = new char[255];
//略
delete pTemp;
普通、配列でnewしたやつはdeleteも配列だと思うんですけど……
と、こんな間違い(?)が多々あって、これを全部直すと思うと気が滅入ります。
どなたかいいツールをご存知の方がいたら教えてください。
よろしくお願いします。
898:デフォルトの名無しさん
07/04/07 22:02:19
さらに、孫請負に丸投げして、ピンハネする。
899:デフォルトの名無しさん
07/04/07 22:04:04
笑ってしまった。いやー世の中にはそんな世界があるんだ。
900:デフォルトの名無しさん
07/04/07 23:18:12
要するに、請け負い先がとんでもないソース修正するのイヤだから
>>897に依頼してきたってことか。
やるなら、相当ふんだくるしかあるまい。
そういうツールがあるなら俺も知りたい。
手軽に手に入るものなら、そもそも依頼なんてこないんじゃなかろうか。
901:デフォルトの名無しさん
07/04/07 23:22:01
>>897
・#define NULL INVALID_HANDLE_VALUE
・deleteをオーバーライドしてdelete []を呼ぶ。
902:デフォルトの名無しさん
07/04/07 23:22:22
>>897
いや、delete[]でも不十分。
new[]したものは、解放されない事態が起きないようにする(特に例外安全を考慮する)ために
boost::shared_array, scoped_arrayまたはそれに準じるものに入れるべき。
903:デフォルトの名無しさん
07/04/07 23:26:07
>>897
QACとかCodeWizardみたいに、問題箇所を警告してくれるツールなら知っているけど、自動修正は知らない
あとはコンパイルオプションに、オペレータのオーバロードを使っていたらコンパイルエラー、
とかの細かい指定ができたら、それ使ってみたらどうだろう。VCは出来たかどうか知らないけど。
904:デフォルトの名無しさん
07/04/07 23:27:36
>>902
kwsk!!
開放されない事態が起きないようにするって、boost以外でやるとすればどうする?
905:デフォルトの名無しさん
07/04/07 23:28:20
0xまで待つ
906:デフォルトの名無しさん
07/04/08 00:11:13
マネージ型を使う。または、C#またはJavaを使う。
907:デフォルトの名無しさん
07/04/08 00:22:04
>>904
shared_arrayやscoped_arrayのクローンを自分で作る。
ようは専用のクラスを作ってそのデストラクタの中でdelete[]すればいい。
根本的にnew[]しないと言う方向性ならstd::vectorを使うなどといった手もある。
908:デフォルトの名無しさん
07/04/08 00:27:47
まずは auto_ptr と vector が基本だろ。
909:デフォルトの名無しさん
07/04/08 00:50:11
がくがく
910:デフォルトの名無しさん
07/04/08 00:52:18
これだな。
URLリンク(www.s34.co.jp)
vectorは内部メモリが連続してる事を(仕様で)保証してくれているので汎用性あるよ。
メモリ制限きつい環境じゃなければ使ったらどうだ。
911:897
07/04/08 02:15:12
>>903
そのツールを検討してみます。
>>902
うーん、勉強になります。
912:デフォルトの名無しさん
07/04/08 05:51:50
教えて欲しいのですが
Visual Studio 2005 SDK 2007.02
ってのをインストールしてみたんですが
何が更新されてるんでしょうか
sampleのIDEのCSharpのReference.MenuAndCommands
っていうのを試しにビルド実行したんですが
新たにVS2005が立ち上がっただけで、何がどうなったのでしょうか
初心者の質問ですみませんが
意味のわかる人、教えてください
913:デフォルトの名無しさん
07/04/08 11:43:59
>912
>何がどうなったのでしょうか
そんなことオレが知るか。キミのパソコンだろ。(´ω`;)
URLリンク(www.microsoft.com)
ココ読めば回答になる?
あと自分が書き込んだ文章を
第三者の観点でもう一度読んでみてください。
914:デフォルトの名無しさん
07/04/08 12:56:13
>>912
一つ目の質問は、VS2005のSDKが2007年2月版に更新されています。
二つ目の質問は、新たにVS2005が立ち上がっただけと思われます。
次にあなたのとる行動はただ一つです。付属のMSDNドキュメントを最初からゆっくり読むことです。
そうすれば、ほとんどの疑問が解決するでしょう。