スレを勃てるまでもな ..
[2ch|▼Menu]
331:デフォルトの名無しさん
09/03/11 15:51:29
>>330
ありません。

332:デフォルトの名無しさん
09/03/11 15:55:41
大体どのコーディング標準でも
重要なのは一貫性を保つことであって、些細なことは個人の自由としている。
他人のコードに手を入れるときは、その人の流儀に従うべきで、
自分の宗教を持ち込んで後の読み手のリズムを狂わせてはいけない、とある。

333:デフォルトの名無しさん
09/03/11 16:26:23
>>330
objも消しちゃえば諦めがつくぞ
すっきりしてまた一から出直そう

334:デフォルトの名無しさん
09/03/11 16:31:44
逆アセならぬ逆コンパイラってないのかな。
objファイルはリンク前のコンパイル済みファイルなので
逆アセでもできそうな気がするけど。

335:デフォルトの名無しさん
09/03/11 16:39:07
>>331,333
どうしても諦めがつかなくてorz

>>334
確かに、逆コンパイルというと語弊があったかもしれません…
なんとか逆アセンブル出来ませんかね?orz

336:デフォルトの名無しさん
09/03/11 17:15:26
>>335
逆アセンブルならできるよ、まぁお前に読めるとは思えないけどさw
いっぱいあるから探してみなよ

確実に1から書き直したほうが早いだろうが

337:デフォルトの名無しさん
09/03/11 18:03:23
自分が書いたコードなら関数名見れば大体流れが読めるはずだしな

338:デフォルトの名無しさん
09/03/11 18:27:51
>>332
あまりに酷いコードの時はそうも言ってられないw

339:デフォルトの名無しさん
09/03/11 19:45:07
>>335
逆アセンブラならvisual studioについてるよ。

340:デフォルトの名無しさん
09/03/11 22:44:10
寧ろディスクから消したのが最近ならサルベージしてみてもいいかも。
案外、オートバックアップのサーバ上に残っていたりしてw

341:デフォルトの名無しさん
09/03/12 09:08:14
Linux環境においてLL言語、シェルスクリプトなどでちょっとしたことをするのには、適切と言われていますが
C言語では、そういったお手軽なライブリなどは、整備されていないのでしょうか?
LL言語、シェルスクリブトが適している分野をCで書くのは、どうなんでしょうか?
Cに偏った使い方をするなら、binコマンドなどのcoreutiltyのmanやソースを読んで、巧みに使うのがいいんでしょうか?

住めば都で慣れれば、C言語での保守も苦では、なくなるものなのでしょうか?


342:デフォルトの名無しさん
09/03/12 10:57:37
データのスムージングを行う処理を作りたいんですけど、
Savitzky-GolayアルゴリズムのCサンプルコードとかないですか?

343:デフォルトの名無しさん
09/03/12 12:19:52
>>342
NumericalRecipesにある。
URLリンク(www.nrbook.com)
尤も、これ見ただけで実装できるかどうかは知らんが。

344:デフォルトの名無しさん
09/03/12 14:11:05
初心者なのですが、ファイルからテキストを読み込んで一番大きい数字を発見したいです
43,2,21,23,みたいなテキストなのですが、質問があります
・テキスト中のスペースは無視されるのですか?
・メモリについてmallocとか全くわかってないのですが使わないとかなりヤバイですか?

345:デフォルトの名無しさん
09/03/12 14:29:37
>>344
・無視されるように読めば無視される。
Ex.:scanf()系, atoi()
・使わなくてもできなくはないが、どっちみちポインタの扱いには慣れが必要なので、そういう意味ではやばい。

つーか、課題か何かでなければ言語の選択の段階で間違っている。

346:デフォルトの名無しさん
09/03/12 14:33:55
実際はC#でするつもりなんですが何でするべきですか?CとC#しか知りません

347:デフォルトの名無しさん
09/03/12 14:45:09
C/C++は他の言語に比べて文字列解析が簡単ではない
C#なら正規表現が使えるからかなり楽になると思うが
一般にはこの手の作業にはスクリプト系の言語がより向いている

まあ、CとC#の選択なら、最初からC#のスレで聞いとけって話だ


348:デフォルトの名無しさん
09/03/12 14:46:58
すみません
Cでも正規表現使えると思ってますたw
ありがとうございました

349:デフォルトの名無しさん
09/03/12 14:55:57
>>348
Cの場合、C#みたいに標準で用意されていないの。

350:デフォルトの名無しさん
09/03/12 14:59:55
何かインクルードしたら使えるとか?

351:デフォルトの名無しさん
09/03/12 15:01:12
>>348
今できたけど…「 ./a.out < ファイル名 」で使ってみて
#include <stdio.h>
#include <ctype.h>

int main()
{
int c;
int max = 0, num = 0;
while((c = getchar()) != EOF){
if(isdigit(c)) num = num * 10 + c - '0';
else {
max = (num > max) ? num : max;
num = 0;
}
}
max = (num > max) ? num : max;
printf("max = %d\n", max);
return 0;
}

352:デフォルトの名無しさん
09/03/12 15:15:02
できればC#に組み込めるようにして頂きたい^^;
適当にコピペしたらインクルードやgetcharが使えなかった

353:デフォルトの名無しさん
09/03/12 15:25:25
ここはC/C++スレだ
移植は手前の仕事

354:デフォルトの名無しさん
09/03/12 15:28:52
フヒヒw

355:デフォルトの名無しさん
09/03/12 15:43:03
wwwwwwwwwwwwwww

356:デフォルトの名無しさん
09/03/12 15:46:18
サーセン

357:デフォルトの名無しさん
09/03/12 19:42:09
ソースコード書くなんて、下っ端の仕事

358:デフォルトの名無しさん
09/03/12 19:46:46
ソースも書けない糞上司

359:デフォルトの名無しさん
09/03/12 19:47:38
ソースしか書けない専門学校卒

360:デフォルトの名無しさん
09/03/12 19:51:35
ソースも書けない落ちこぼれに言われてもなー

361:デフォルトの名無しさん
09/03/12 19:59:11
高卒の叩き上げが最強ってことで、ゆるして

362:デフォルトの名無しさん
09/03/12 20:19:56
就職||卒業出来ないからって荒らすなよ。

>>342
numerical recipes in CやC++に載ってる。C++もベタに書いてあるので、
++の意味はほとんど無いw あとはqtiplotだっけ? originのfree implementationの
ソース読むとか、MSDNにも解説があるな。しかし簡単な式だから、すぐ作れるだろ
携帯からなので、PCでググればもっと探せそう。

363:デフォルトの名無しさん
09/03/13 13:46:55
>>362
>343

携帯だとすぐ下のレスも見られないのか?
つーか、元質はCだと書いているのさえ見えてないのか。

364:デフォルトの名無しさん
09/03/13 18:01:41
>>363
>>343はPCのFoxit readerでさえ読み込めないんだけど?
どうせ貼るなら、こっち貼れ
URLリンク(www.fizyka.umk.pl)


365:デフォルトの名無しさん
09/03/13 18:55:28
>>364
>Foxit readerでさえ
「でさえ」?
そりゃ Adobe Reader で読めなかったときに使う言葉だろ。

366:デフォルトの名無しさん
09/03/13 19:15:04
>>365
>>363は携帯で読めないのかって書いてるじゃん。
まあもちろん携帯のadobe readerでも読めない訳だが。


367:343
09/03/13 19:21:33
>>364
普通にIE+AcrobatReaderで見えるけど。怪しげなクローンより本家の方がいいと思ったんだけどな。
# そして私は>363ではない。

368:デフォルトの名無しさん
09/03/13 20:26:31
PCのAcrobat Readerでも開かない。
なんか、変なプラグイン入れろって出る。
IEからでも。

369:デフォルトの名無しさん
09/03/14 03:35:05
暗号化してあるみたいだね。headerがどうたらって出た
どうせnumeric recipiは信用できないからいいけど。

370:デフォルトの名無しさん
09/03/14 18:25:38
作ったソフトをオープンソースで公開しようかと考えているのですが、
ネット上のサンプルをコピペしたコードが多々あって、勝手にオープンソースにしていいのかわかりません。
ライセンス表記がされていないものも多いので確認のしようがないのです。
こういう場合でも勝手にBSDライセンスとか付けて配布してしまっていいのでしょうか?
出所はもちろん明記するつもりですが。

371:デフォルトの名無しさん
09/03/14 18:31:47
バレてトラブルになった時の対処ができるなら。

372:デフォルトの名無しさん
09/03/14 18:55:18
コピペでオープンソースですか、笑っちゃいます。
コードを書けないのなら無茶な事しない。

ネット公開されてれば、使ってよいの判断ですが、
それでも、自身でコードを書き直して公開するのが本当でしょう。
動けば良いだけのコードをオープンソースですか、違うでしょ


373:デフォルトの名無しさん
09/03/14 21:00:58
そうですよねぇ。
でも反面、せっかく既にあるコードまで自分で書き直さなきゃならないのか?とも思うのです。
しかもサンプルの書き方が一番スマートなのに、あえて別の書き方をするのも無意味に思えてなりません。
サンプルを利用して書くのは普通のことだと思いますが、皆どうしているのでしょうか。
とりあえず今回はクローズドでいきます。ありがとうございます。

374:デフォルトの名無しさん
09/03/14 21:54:26
>>370
もともとライセンス表記もせずパブリックドメイン同然で公開しているコードなら
コピペのままではなく、君がそのコードを理解して、作りなおせば問題ないだろ。
出所も明かす必要無し。

コードって作り直せないくらい長かったり何回だったりするの?

375:デフォルトの名無しさん
09/03/14 21:56:48
何回→難解

376:デフォルトの名無しさん
09/03/14 22:21:17
>>374
いや逆に、数十行程度のサンプルが多くて直しようがないんです。
そのまで洗練されているのでいじると無駄にこんがらがります。
変数名やカッコの書き方を変えるといったしみったれたことしかできず…。

377:デフォルトの名無しさん
09/03/14 22:40:02
モジュールを丸ごとじゃなくてサンプルコードか・・・

サンプルコードをかき集めた場合は、いろんな流儀で書かれているわけだから、自分の流儀に書き直したほうがメンテしやすくなるぞ。変数名や括弧を直すだけでも効果的だ。
そうすれば改良できるところが見えてくるぞ。


378:デフォルトの名無しさん
09/03/14 22:44:48
なるほど、書き方は自分流に統一した方がいいですね。ありがとうございます。
小さいところでも直していけばいいのですね。そういう方向でいってみます。

379:デフォルトの名無しさん
09/03/14 22:59:23
つーか、数十行程度ならサンプルを理解した上で、自分で書けばいいじゃん。
その程度だったら記憶を手繰りながら書けるべ。

380:デフォルトの名無しさん
09/03/14 23:05:01
その二度手間が無駄って話じゃねーの

381:デフォルトの名無しさん
09/03/14 23:07:19
Linuxなんかは、著作権回避のために書き直しとかしてるだろ?

382:デフォルトの名無しさん
09/03/14 23:09:05
コピペしただけでは解ったつもりで解ってないことがほとんど。自分の手でコードを書かないと理解できない。それは無駄ではない。


383:デフォルトの名無しさん
09/03/14 23:18:43
せっかく再利用を前提としてソースコードを書いても
ほとんど再利用されることはない
参考にすることはあっても

384:デフォルトの名無しさん
09/03/14 23:21:50
それは再利用性の設計が不十分なんだよ。

385:デフォルトの名無しさん
09/03/14 23:26:41
再利用されることが無いのに再利用性の設計なんてそもそも不要だし

386:デフォルトの名無しさん
09/03/14 23:35:47
再利用なんて、幻想だよ。
結局、作り直して使ってるだろ

387:デフォルトの名無しさん
09/03/15 00:52:54
再利用性なんて、無駄なコード入れて行数増やすための方便になってるからなあ

388:デフォルトの名無しさん
09/03/15 01:06:40
まだ行数とか言ってんのかこの業界は

389:デフォルトの名無しさん
09/03/15 01:16:57
リファクタリングしたら負けかなと思ってる

390:デフォルトの名無しさん
09/03/15 02:17:37
わかりやすいコード記述を心掛け且つ
流用者が理解するのを諦める難解な操作を
程よく織り込むのがプロの仕事だ

391:デフォルトの名無しさん
09/03/15 02:30:08
チンケなプロだなぁ

392:デフォルトの名無しさん
09/03/15 08:58:28
自分で恰好良く書いたつもりが
「何それ?だっせーソース」
とか笑われたことがあるんだろ

393:デフォルトの名無しさん
09/03/15 11:41:41
libファイル配布

394:デフォルトの名無しさん
09/03/16 14:12:14
あるテーブルより、KOJIN_ID(数値型8桁)を一旦ホスト変数H_KOJIN_IDに入れ
それを11桁の文字型として出力しなければいけないのですが(余った桁はスペースで埋める)
下記のようにsprintf関数を使ってH_KOJIN_IDから、ファイル書き出し用構造体outの項目KOJIN_IDに
セットするときに、現状のままだと余った桁に0が入ってしまいます。

データセット部
sprintf(out.KOJIN_ID,"%11.11ld",H_KOJIN_ID);

余った桁に半角スペースが入るようなsprintf指定方法はありませんか?


395:デフォルトの名無しさん
09/03/16 14:24:22
"%11d"

396:デフォルトの名無しさん
09/03/16 14:43:45
%11dで試しましたが0で埋められてしまいます。

397:デフォルトの名無しさん
09/03/16 14:46:47
失礼しました!
間違えて%11.11dで試しましたが、%11dだけにしたら
できました。
ありがとうございました。

398:デフォルトの名無しさん
09/03/16 14:51:24
>>394
マルチすんなゴミ

399:デフォルトの名無しさん
09/03/17 00:50:51
C++の書籍を買おうと思っているのですが、大体何円くらいなんでしょうか?

教えてください

400:デフォルトの名無しさん
09/03/17 00:55:30
そんくらいamazonで調べろよ

401:デフォルトの名無しさん
09/03/17 00:56:09
Cの書籍は何円ぐらいしたよ?
だいたい相場はかわらんさ

402:デフォルトの名無しさん
09/03/17 01:00:51
>>399
1800-4500円

403:デフォルトの名無しさん
09/03/17 02:17:46
>402
ただし、○冊セットの中の1冊のお値段、というオチが付くことも多そう。

404:デフォルトの名無しさん
09/03/17 02:49:33
C++のセット本なんかあったか? 見た事無いが

>>403不味い本買ってんじゃねぇか?

405:デフォルトの名無しさん
09/03/17 03:12:49
週刊C++、創刊号は980円

406:デフォルトの名無しさん
09/03/17 03:32:14
それを言うなら、創刊号1800円で、二号から4500円だろ…


407:デフォルトの名無しさん
09/03/17 04:00:40
3号は9450円か?

408:デフォルトの名無しさん
09/03/17 06:25:56
まず創刊号の付録を教えてくれ

409:デフォルトの名無しさん
09/03/17 06:27:57
VC++EEとGCCの豪華セット

410:デフォルトの名無しさん
09/03/17 06:30:29
↑エラー起きた場所が分かりやすいように、AAに変換してしくれる機能搭載

411:403
09/03/17 10:03:10
>404
あー、C++であったかどうかは分かんない。
でもVC++とかだと何シリーズか見かけた気がする。

412:デフォルトの名無しさん
09/03/17 16:30:39
毎週付録のモジュールをリンクしていくことでオリジナルIDEが完成

413:デフォルトの名無しさん
09/03/17 18:27:14
//////////////////////////////// a.h
template<typename T>
class test {
public:
test();
void _inc(T n);
void _dec(T n);
private:
T m_n;
};
//////////////////////////////// a.cpp
#include "a.h"

template<typename T>
test<T>::test() : m_n(0) { }

template<typename T>
void test<T>::_inc(T n){ return m_n++; }

template<typename T>
void test<T>::_dec(T n){ return m_n--; }

test<int> aaa;

414:デフォルトの名無しさん
09/03/17 18:28:32
//////////////////////////////// main.cpp
extern test<int> aaa;

#include <stdio.h>
#include "a.h"

void main(void){
aaa._dec(1);
}

externで宣言してるのにリンク時に未解決になります。
どこに誤りがあるのでしょうか?

415:デフォルトの名無しさん
09/03/17 18:32:13
テンプレートは実装もヘッダに入れろ
そういうもんだと思っておけばいい

詳しく知りたければ export キーワードあたりで自分で調べな

416:デフォルトの名無しさん
09/03/17 18:40:22
>>415
ありがとうございます
無事解決しました

417:デフォルトの名無しさん
09/03/17 18:50:20
なんでexportなんてキーワードがワザワザ必要な文法になったの?
なにもつけなくても実装が別ファイルにあるなら、それはそれで問題ないのじゃね?

418:デフォルトの名無しさん
09/03/17 18:55:14
>>417
宣言が必要なのよ。

419:デフォルトの名無しさん
09/03/17 19:09:02
この場合、明示的にインスタンス生成すれば済む気が。

420:デフォルトの名無しさん
09/03/17 19:15:11
C++0x に期待。

421:デフォルトの名無しさん
09/03/17 19:30:18
C++0a

422:デフォルトの名無しさん
09/03/17 19:32:53
>421
ありそうで困る

423:デフォルトの名無しさん
09/03/17 19:33:38
実装部分が別ファイルだと、コンパイル時にTが実際になんなのか分からないから、
実装部分は、コンパイルできなくない?リンク時に、改めてコンパイルし直すのか?
exportって、どう言う仕組みで実現してるの?

424:デフォルトの名無しさん
09/03/17 19:35:55
16進にすると許容範囲内に見えるから怖い

425:デフォルトの名無しさん
09/03/17 19:36:16
>>423
> リンク時に、改めてコンパイルし直すのか?
そういうこと。
それやってというお願いするキーワードがexport。

まあg++とかVC++とかの有名どこが無視しているから、事実上死に設定だけど。

426:デフォルトの名無しさん
09/03/17 23:54:31
>>421
2010年になると言うことかw

427:デフォルトの名無しさん
09/03/17 23:56:03
>>413-414
explicit instantiationを知らないなら

テンプレート関数の明示的インスタンス生成 - akihiko’s tech note
URLリンク(d.hatena.ne.jp)

ここが分かりやすいよ。必読。

428:デフォルトの名無しさん
09/03/18 00:53:11
>>421
C++0xa

429:デフォルトの名無しさん
09/03/18 07:15:29
記述場所が関数内かグローバルか判るコンパイル定数無い?
GCC 3 で

430:デフォルトの名無しさん
09/03/18 07:53:28
URLリンク(seclan.dll.jp)
前定義識別名 __func__

431:!=429
09/03/18 14:53:38
>>430
へー
そりゃ知らんかったな

432:デフォルトの名無しさん
09/03/18 17:00:28
VS2008 C++について質問です。
構造体の配列に文字を格納したところ、デバッグでみると
その場所+4つ先に格納されているのですがどういったことなのでしょうか。

以下は新規にプロジェクトを作成し、構造体とそれに代入しただけのソースの一部です。

struct TEST{
char testes[10];
};
struct TEST ttt;

[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
ttt.testes[0]='A';
// コントロールが作成される前に、Windows XP ビジュアル効果を有効にします
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);

// メイン ウィンドウを作成して、実行します
Application::Run(gcnew Form1());
return 0;
}
上記の例だと[0]にAが入るはずなのですが、ブレークポイントを
置いて、デバッグでみると[4]にAが入っているように見えます。
実際は[0]にAが入っているので、動作については問題なかったです。

433:デフォルトの名無しさん
09/03/18 17:44:58
まさかとは思うが、リリースビルドでデバッグしているとか、デバッグビルドに最適化を指定しているとか、
リビルドしてみてないとか言わないよな。

434:デフォルトの名無しさん
09/03/18 18:07:27
>>432
C++とC++/.CLIは名前が似てるだけで別言語。

435:デフォルトの名無しさん
09/03/18 18:16:53
>>434
でも質問の内容自体はVisual C++固有のことだから、
もし誘導するとしたら、Visual C++かVisual Studioスレがふさわしいと思う。

436:デフォルトの名無しさん
09/03/18 18:32:57
>>430
ありがとう。
でも、コンパイル"後"定数に成るみたいで微妙に目的と合致しませんでした。

437:デフォルトの名無しさん
09/03/19 20:04:24
BorlandC++Builderで以下のCプログラムを記述したところ
式の構文エラー(関数 main )と出ます。
#include<stdio.h>
int main(void)
{
int english;
printf("点数を入力してください\n");
scanf("%d",&english);
printf("英語 %d点\n",english);
if(english=>80)
{
printf("良くできました!");
}

return 0;
}

if文を用いる場合は必ずelseでそれ以外の時の処理を書かなければならないのでしょうか?

438:デフォルトの名無しさん
09/03/19 20:07:10
>=

439:デフォルトの名無しさん
09/03/19 23:37:58
BASICでは>=でも=>でもOKだから、間違えちゃう人多いのかも。
他にも==を=と間違えたりべき乗に^を使っちゃったり。
BASICを習得してるといろいろ困るよねオマンコ

440:デフォルトの名無しさん
09/03/20 00:15:49
>>438
数学では
>=は
 大なりイコール
って発音するじゃん。それで覚えれば大丈夫。

441:デフォルトの名無しさん
09/03/20 00:19:51
べき乗に^使ってしばらく悩む事あるな
powとかすぐ出てこねーよw

442:デフォルトの名無しさん
09/03/20 00:22:17
/= を否定と間違えて使いそうになったりね

443:デフォルトの名無しさん
09/03/20 00:27:05
>>441-442
プログラムしばらくやってるやつは、悩むところじゃないだろ。

プログアム初心者は、悩む以前に分からない部分調べるか、誰かに聞くだろ。

444:デフォルトの名無しさん
09/03/20 01:56:47
>プログアム初心者は、悩む以前に分からない部分調べるか、誰かに聞くだろ。
そして>437にループ

445:デフォルトの名無しさん
09/03/20 09:19:46
PHPでは=>は矢印

446:デフォルトの名無しさん
09/03/20 17:37:43
>>440
数学に、そんな記号ない。縦に並べたのなら知ってる

447:デフォルトの名無しさん
09/03/20 17:41:56
じゃあやりなおし
数学では
≧は
 大なりイコール
って発音するじゃん。それで覚えれば大丈夫。

448:デフォルトの名無しさん
09/03/20 17:50:53
そもそも数学で子供の頃から慣れ親しんだ記号と
似ているようで違う表記をするために間違えるのだから、
それは意味ないのじゃね?

449:デフォルトの名無しさん
09/03/20 17:58:50
声に出して確認しろってことだろ

450:デフォルトの名無しさん
09/03/20 18:03:35
自分は>=と打つときに、心の中で「大なりイコール」と諳んじてるから
まず間違えないな

451:デフォルトの名無しさん
09/03/20 18:10:04
俺もBASIC出身だから=>やったことあるわw

452:デフォルトの名無しさん
09/03/20 18:22:15
BASICやった後、Cに戻った直後は
==と書くべきところを=にして悩む
少しリハビリすると大丈夫だけど

453:デフォルトの名無しさん
09/03/20 18:44:24
というか、≧ を口に出して読んだ記憶がないな

だから「大なりイコールって考えればわかりやすいでしょ」といわれても
頭の中でもそんな風に考えたことないし・・って感じ


454:デフォルトの名無しさん
09/03/20 19:09:25
>>453は≧を大なりイコールって読むことを知らなかったってことか?
そりゃ問題だな。

455:デフォルトの名無しさん
09/03/20 19:21:11
greater or equal って読んでてごめんね

456:デフォルトの名無しさん
09/03/20 19:23:40
greater than or equal to と言うのが正しい

457:デフォルトの名無しさん
09/03/20 19:26:30
JISとかで読み方決まってないのかのう

458:デフォルトの名無しさん
09/03/20 19:26:53
gte

459:デフォルトの名無しさん
09/03/20 19:48:21
> gt
< lt
>= ge
<= le
== eq
!= ne

460:デフォルトの名無しさん
09/03/20 20:52:55
>>453
見よ、これがゆとり教育の被害者である

461:デフォルトの名無しさん
09/03/20 21:22:32
larger than or equal toって読んでた

462:デフォルトの名無しさん
09/03/20 21:54:23
普通は以上未満つかうだろ

463:デフォルトの名無しさん
09/03/20 22:05:20
以下<−>以上
未満<−>???

464:デフォルトの名無しさん
09/03/20 22:06:27
より小さい<−>より大きい

465:デフォルトの名無しさん
09/03/20 22:06:44
より大きい

466:デフォルトの名無しさん
09/03/20 22:06:54
超過

467:デフォルトの名無しさん
09/03/20 22:07:32
{○, ●}×{→、←}

468:デフォルトの名無しさん
09/03/20 22:10:47
○→)
●→]

469:デフォルトの名無しさん
09/03/20 23:01:44
>>463
反対の意味で使ってるなら間違い

470:デフォルトの名無しさん
09/03/20 23:44:36
同じ意味で使ってるなら間違い

471:デフォルトの名無しさん
09/03/20 23:47:10
どっちの推測も間違い

472:デフォルトの名無しさん
09/03/21 04:16:01
この議論に意味は無い

473:デフォルトの名無しさん
09/03/21 13:23:59
それ以外ネタが無い

474:デフォルトの名無しさん
09/03/21 21:28:22
年度末の一番忙しい時期に、仕事以外で頭を使いたくない

475:デフォルトの名無しさん
09/03/21 22:24:42
ここに言う意味が無い

476:デフォルトの名無しさん
09/03/22 00:02:16
>>459
FORTRANはすっこんでろ

477:デフォルトの名無しさん
09/03/22 00:07:15
おっとtestコマンドの悪口はそこまでだ。

478:デフォルトの名無しさん
09/03/22 02:07:37
『C++はCの完全な上位互換を失った』と見るのですが
具体的にC言語ファイルをそのまま.cppにしてエラーが起こる例ってどんなのあります?

例えばmain関数内でmain関数を使うとエラーになるようですが。(でも常用外だから普通は問題にならない)
(1) C++ではエラーが出る
(2) Cで稀に使われるが、C++で別の動きをする (想定外動作)

無理して作れば色々出てきそうですが・・・・

479:デフォルトの名無しさん
09/03/22 02:19:01
>>478
main(c){}

480:デフォルトの名無しさん
09/03/22 02:23:36
一番よく指摘されるのは
void*をキャストする必要があるかどうかだろ。
char *p = malloc(...);
が通るかどうか。

481:デフォルトの名無しさん
09/03/22 02:25:31
変数名にthrowとかusingとか使ってる場合など。
C++が作られていくときに、新たなキーワードの導入は常に強い反対があったと聞く。

482:デフォルトの名無しさん
09/03/22 02:32:45
複合リテラルとかは?

483:デフォルトの名無しさん
09/03/22 02:33:38
>>478
C99のことだと思うけど可変長配列とかC++に無い
あとintの省略もできないな

484:デフォルトの名無しさん
09/03/22 02:33:56
newとか多いよな。
oldとnewの両方を一時変数名にするとか。

485:デフォルトの名無しさん
09/03/22 02:38:49
>>478
extern のついてない const なグローバル変数を定義して
ほかのソースからextern宣言して見てるとき

486:デフォルトの名無しさん
09/03/22 16:49:25
でも俺としては例え過去のとかぶっても予約語はしっかり作って欲しい。
無理に予約語を増やさないようにするあまり、同じ予約語で少しずつ違った意味に使うの多くない?
(例 static, template)

487:デフォルトの名無しさん
09/03/22 18:35:34
D言語でも使ってろよ

488:デフォルトの名無しさん
09/03/22 19:30:32
>>478
C++ の規格の付録 C にまとめられてるよ

489:デフォルトの名無しさん
09/03/23 09:24:50
char hoge[4] = "ABCD";   // これがエラーになるかどうか

490:デフォルトの名無しさん
09/03/23 12:37:17
構造体タグの名前空間が独立していない。
struct foo {int bar;} foo; // 例えばこれがエラーになる

491:デフォルトの名無しさん
09/03/24 08:18:48
>>489
char hoge[4] = "ABCD";
がC言語だとhoge[0]='A',hoge[1]='B',hoge[2]='C',hoge[3]='D'でC++だとエラーになるんだっけ?

char hoge[5] = "ABCD";
の場合はCでもC++でも同じhoge[0]='A',hoge[1]='B',hoge[2]='C',hoge[3]='D',hoge[4]='\0'だよね。

492:デフォルトの名無しさん
09/03/24 18:04:39
C++のお勧めの書籍教えてくだされ

493:デフォルトの名無しさん
09/03/24 18:05:16
Modern C++ Design

超お勧め。っていうか、一度読んでみると歯が全部抜け落ちる。

494:デフォルトの名無しさん
09/03/24 18:07:30
うむ、サンクスbb
早速見てくる

495:デフォルトの名無しさん
09/03/24 18:09:17
入門者向けの書籍教えてくだされ

496:デフォルトの名無しさん
09/03/24 18:12:19
入門者向けなら、C++ Coding Standards。
Effective C++とかExceptional C++の最新の要約が詰まってる。

わからない場所=自分の理解が足りていない場所

という今後の学習指針にもなる。
読むと腸内がすっきりする。

497:デフォルトの名無しさん
09/03/24 18:21:11
サンクス
とても参考になります
やはり値段が高いほうが内容も詰まってるんでしょうね

498:デフォルトの名無しさん
09/03/24 18:39:57
Effective C++ 原著第3版
amazonで感想を見てみたんですけど・・・・
中級者以上を対象としているみたいな感じなのがありました
本当にこれで大丈夫でしょうか・・?

499:デフォルトの名無しさん
09/03/24 19:03:58
>>491
==

500:デフォルトの名無しさん
09/03/24 19:07:13
>>498
基本構文だとか継承だとかテンプレートの使い方だとか
そういう基礎的なのは習得してる人向けっていう程度

だが、そんなに難しくはないよ
コード付でかなり親切な説明がされてるし

501:デフォルトの名無しさん
09/03/24 19:08:34
Effective C++とかは中級者向けじゃないよ。
入門書の次に読まなければならないレベルの本だよ。
この本を読まずに「中級者」を名乗ること自体がおこがましいよ。
この本を読んだことのない人は
個人的なプログラムしか組む資格がないといってしまっていいくらいに
基本的な事柄について書かれた本だよ。

502:デフォルトの名無しさん
09/03/24 20:29:39
Effective C++か。わかるわかる。
でも初心者レベルではないと思う。
「中級者になりたい初心者なら必読」という意味では初心者向けだな。
入門者の場合は意味不明だと思うが、初心者なら説明が丁寧でたとえがすばらしく分かりやすいからオススメ。


503:デフォルトの名無しさん
09/03/24 20:32:17
10年間Cを書いてきたシニアエンジニアが独力で半年間C++を検討した結果が全て、
EffectiveC++に(より洗練された形で)書かれていたと言っていた。
要は、EffectiveC++を最初から読んでいれば半年間無駄にしなかったのにね、と。

504:デフォルトの名無しさん
09/03/24 20:39:53
Cのファイルアクセス程度までしか勉強していないようなヤツでもわかるものかしらね

505:デフォルトの名無しさん
09/03/24 20:40:06
中級者なら知ってて当然のことが書いてあるだけで、
読まなくても別に中級者になれるけどな

506:503
09/03/24 21:59:39
>>504
>Cのファイルアクセス程度までしか勉強していないようなヤツでもわかるものかしら
C++の入門者だから無理じゃないかな?
クラスって何よ?継承って何だよ?テンプレートとは???
っていう感じになっちゃってまともに読み進められないと思う。
>>505
確かにそう言うことになるな。
別に全員が読んでるわけじゃないだろうし。

507:デフォルトの名無しさん
09/03/24 22:45:56
Effective C++はC++を真面目にやろうと思ったら必読書。
読んで理解できなければ、理解できるようになってからまた読めばいい。
よって常にお薦め。
いつまでも理解できないならそいつはC++に向いてない。

508:デフォルトの名無しさん
09/03/24 23:00:50
Effective C++は中級者なら知ってて当然の知識集だから、
この本自体は中級者向けじゃないよ。
この本に書かれている知識を習得していない人は
中級者じゃなくて単なるカスプログラマだから。

何度も書くけど、入門書を読んだあとに読むべき本だよ。

509:デフォルトの名無しさん
09/03/24 23:09:56
口悪いの多いな。

510:デフォルトの名無しさん
09/03/24 23:22:00
件のEffective C++自体、結構口の悪い文章だから。

511:デフォルトの名無しさん
09/03/24 23:28:42
2chだからだろ。
日常生活なら滅多に使わない侮蔑を含む日本語が飛び交う場所だからな。
むしろこのスレはまだマシな方じゃね?

512:504
09/03/25 00:36:26
>>506
クラスとか継承はJavaのさわり程度ならやったので意味だけならなんとか

513:デフォルトの名無しさん
09/03/25 00:43:42
Effective C++はC++特有の仕様に触れることもあるから
少なくとも初心者向けのC++解説本は読んでることが前提。
ちゅか、Effective C++を読めば、C++のプログラムに
Cのテクニックはあまり(ほとんど?)役に立たないことがわかる。
Cの知識は無用ともいえる。

514:デフォルトの名無しさん
09/03/25 00:45:12
>>513
Cで培った危険を予知する感覚というか知識は必要じゃね?
まあC++のソースを書いていてprintfなんて書こうものならもうそいつのソースは信用できないな。

515:デフォルトの名無しさん
09/03/25 00:46:23
>まあC++のソースを書いていてprintfなんて書こうものならもうそいつのソースは信用できないな。

なんてことを言う奴は信用しないことにしている。


516:デフォルトの名無しさん
09/03/25 01:00:11
coutなんか使わなくてもprintfで十分足る(キリッ

517:デフォルトの名無しさん
09/03/25 01:09:59
printfは型安全を無効化するっていうことを理解して使う分には問題ないんでないの?
サッターは「安全装置のない車を運転するほうが楽なのといっしょだ」みたいな主旨のことを書いてた。

518:デフォルトの名無しさん
09/03/25 01:27:36
fgets()でstd::stringに読み込めないのは不便だな

519:デフォルトの名無しさん
09/03/25 01:35:46
シフト演算子オーバーライドして返り値への代入を繰り返す「どうだ凄いだろ」的な構文でなければ
C++内の printf は早々に駆除されてたと思う。
初めて見たとき もうちょっとマトモナやり方があるだろう?と感じた。

520:デフォルトの名無しさん
09/03/25 01:40:01
でも吐き出すコードはそこそこまともじゃない?

521:デフォルトの名無しさん
09/03/25 01:43:16
CにないC++の機能
たとえばClassとかSTLとかは使わにゃ損々なんだが
iostream系のようにCにもある機能は
別に置き換えなきゃならんわけじゃないし

522:デフォルトの名無しさん
09/03/25 01:46:49
まあiostreamは単なる多重継承の技術的デモンストレーションだという
極論まであるし遅いしだな

時と場合に応じて使い分ければ良い

523:デフォルトの名無しさん
09/03/25 02:54:02
可変引数のもたらす潜在的なセキュリティホールがむにゃむにゃ

524:デフォルトの名無しさん
09/03/25 08:12:59
>>519
返り値への代入を繰り返すってなに?

525:デフォルトの名無しさん
09/03/25 09:20:24
>>524
((std::cout << hoge) << moge)
代入じゃねえな。
他は >>519 に同意。
特にシフト演算子のオーバーライドとか、やっちゃ駄目な部類。

526:デフォルトの名無しさん
09/03/25 12:39:57
初期のC++には、C++のライブラリは、ほとんどiostreamしか付いて無かった
(stringや複素数はあった)。だからC++の基本機能や、言語概念の説明といった役割が大きかった。
その後、多重継承が追加されて、書式付き入力ストリームと出力ストリームを結合させるなど、
仮想基底クラスの用法を示している。そういう歴史的経緯が判らないと、
微妙に感じるかも知れないけど、自分定義の型拡張やコンパイル時のチェックも効くし、
長く使ってると愛着も湧いたりする。better Cとして使ってる人には不評みたいね。

カレー南蛮そばが来ないので、長文してしまった。

527:デフォルトの名無しさん
09/03/25 13:36:58
不評っつーか、わざわざ使うまでもない

528:デフォルトの名無しさん
09/03/25 13:47:06
わざわざも何も、それが標準的な出力手段なんだが?

529:デフォルトの名無しさん
09/03/25 14:28:01
オーバーライドとオーバーロード混ざってる悪い子はいねがー?

530:デフォルトの名無しさん
09/03/25 14:53:12
最初から可変長テンプレートを入れてれば、
std::cout(hoge, fuga, std::endl); とか書けたのにな。

だが、D言語では
Stdout(hoge)(fuga).newline;

531:デフォルトの名無しさん
09/03/25 15:15:07
オレオレフィルタとか書くときはboost::iostreamsを使う

532:デフォルトの名無しさん
09/03/25 15:58:48
>>526
じゃあもう要らないですね。obsolete にしましょ。

533:デフォルトの名無しさん
09/03/25 17:48:52
OKです

534:デフォルトの名無しさん
09/03/25 18:12:00
いくら不要になったといえども
作ってしまった過去の資産()があるから削っちゃだめだろ iostream

535:デフォルトの名無しさん
09/03/25 18:32:28
負債というべき


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5380日前に更新/124 KB
担当:undef