[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 07/05 16:55 / Filesize : 216 KB / Number-of Response : 952
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門編)Part 104



1 名前:デフォルトの名無しさん [2012/07/15(日) 10:28:33.18 ]
C言語の入門者向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 103
toro.2ch.net/test/read.cgi/tech/1341059858/
★過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 158代目
toro.2ch.net/test/read.cgi/tech/1339338438/
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
  # サイズが大きい場合はアップローダ等を利用してください。
codepad.org/
ideone.com/
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

357 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:28:40.54 ]
動的計画でフィボナッチどう書くの?

358 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:35:03.68 ]
>>357
#include <stdio.h>

long fib(int n)
{
static long data[50]={1,1};

if(n>=46) return -1;
if(data[n]==0) data[n]=fib(n-1)+fib(n-2);
return data[n];
}

int main(void)
{
int i;
for(i=0;i<50;i++) printf("%ld\n", fib(i));
return 0;
}

359 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 00:49:42.04 ]
じゃあメモ化は?

360 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 01:09:07.08 ]
>>359
動的計画法でしょ

361 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 04:44:09.61 ]
>>284
仮になんでも知っているとして、それでも知っていることと書けること、それも納期や雑用等のプレッシャーのもとで書けること、とは相関はないと考えています。

362 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 04:46:53.82 ]
>>273
二重ポインタ自体の理解困難性というデメリットと、二重ポインタ使用によるループ記述の見通しのよさというメリットを比較して、前者に重きを置く理由を教えてください。

363 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 05:21:28.32 ]
見通しの良さって明らかなメリットと言えるほどの差が無い

364 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 05:39:56.40 ]
二重ポインタくらい理解できなくてどうすんのさ
char *argv[]とか

365 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 05:40:25.05 ]
むしろ悪いよね。
初心者はちゃんと理解もできないし。



366 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 06:47:49.33 ]
>>358
それ、ただキャッシュしてるだけやん。
なんでそれが動的計画なの?

367 名前:デフォルトの名無しさん [2012/07/27(金) 10:02:55.88 ]
理解することとメリットがあることは別物

368 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 10:04:28.04 ]
お前がそう思うんならそう(ry

369 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 10:14:18.17 ]
>>361
無職なのに納期?おかしな事を言うなあ
やっぱり狂ってる

370 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 11:28:24.19 ]
男が女性問題を議論してはいけないと申されるのか

371 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 13:51:49.24 ]
標準Cで巨大ファイルを扱うにはどうすれば?
整数で扱える範囲を超えてシークできない

372 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:00:31.96 ]
>>371
Win32のCreateFile()、SetFilePointer()、RealFile()、WriteFile()を使えば
64bitまでアクセス出来る

373 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:02:49.21 ]
標準Cとか書いてるのにか。

374 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:03:20.13 ]
64BIT以上はどうするんですか?

375 名前:デフォルトの名無しさん [2012/07/27(金) 14:05:48.62 ]
日 本 語 で お k



376 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:06:28.80 ]
C言語初心者だけど

理解しにくい記述は避けるってのが他言語で覚えた掟
perlのワンライナーとかスゴイけど怖い
「これ修正して(´・ω・`)」
「無茶言わないで下さい(´・ω・`)」

ダブルポインターはそこまで鬼畜じゃないか?

377 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:07:59.67 ]
support.microsoft.com/kb/894942/ja

>>374
64bitだと1680万TiBあるのだが
そういうHDDが出る頃にはもうWin32なんて使われないだろう
からかってるのか?

378 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:22:14.46 ]
>>376
ダブルポインターなんて言葉自体ポインターを理解できない輩の言い訳にしか過ぎない。
ポインターに鬼畜もへったくれも無いので、必要なら必要なだけ使えばいい。

379 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 14:28:41.04 ]
そういうやつに使われると迷惑なだけなんだが。

380 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:10:05.43 ]
配列の境界チェックを一時的に導入する書き方ってないかな?
デバッグ時だけチェック入りのコードにしてリリース時は速度稼ぐために外したいんだけど


381 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:15:45.71 ]
配列へのアクセスをマクロ経由にすればいい。

382 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:18:57.94 ]
value = array[i];

value = GET(array, i);
こんなのか

383 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:20:21.77 ]
既にあるコードの見た目を変えないようなマクロを導入するのは無理?

384 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:21:29.70 ]
お前、アホだろ。

385 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:28:02.68 ]
とりあえず静的解析ツール使えばいんじゃねーのか?



386 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:29:10.31 ]
そのレベルじゃ途方にくれる結果になるとは思うが。

387 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:31:57.84 ]
assert

388 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:33:14.96 ]
昔C#に移植してみたっけな
手間はかかるがかなり効果はあった


389 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:44:35.63 ]
>>385
それよさそう
お勧めのツールはある?


390 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 16:51:29.97 ]
Cppcheckでやってみるか

391 名前:デフォルトの名無しさん [2012/07/27(金) 16:51:43.60 ]
coverity

392 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:04:54.35 ]
静的解析ツールで境界チェックってできるの?
定数等からある程度はわかるだろうけど実行時にしかわからないものもあるよね。

393 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:36:54.63 ]
とりあえずC++から入って後々Javaとか後付することにした
VC++でいいと聞いてインスコしたんだけど、始めにロゴみたいなの出て一瞬で消えて起動さえしないんだけど。
どゆこと?教えてエロい人

ちなみにOSはWindows7

394 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:40:43.47 ]
再インスコ

395 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:47:02.39 ]
スペインに勝利! 世界は日本を見くびっていた=中国メディア

  ロンドン五輪・男子サッカーが26日開幕し、日本は強豪スペインに1−0で勝利した。中国メディアも日本の勝利を大きく伝え、騰訊網は「世界は日本を見くびっていた」とする評論記事を掲載した。

  記事は、日本についてヨーロッパは「現代サッカーを速やかに吸収する素晴らしい学習者、模倣者」と認識し、中国は「日本のサッカーを学ぶのではなく、日本が他人からどうやって学んできたかを学ぶべき」

  と考えてきたと論じたうえで「これは間違いなく日本に対する過小評価だ」「ヨーロッパにしろ中国にしろ、日本サッカーは『学び続ける』ことだけで強くなってきたと考えることにすっかり慣れてしまった」とした。

  一方、スペイン戦の勝利後、日本代表の関塚隆監督や選手たちが口々に「ボール支配の時間が少なすぎた」と不満をこぼしたことに触れ、

  「彼らは『学習者』としてスペインに挑んだのではない。日本の態度は強い『競争者』意識の表れだ」と分析。「この意識は非常に尊いものだ」とし、「学習」ばかりを強調する中国サッカーの意識を暗に批判した。

  そして、強い競争者意識を持った日本がスペイン戦で見せたパフォーマンスについて「もっとチャンスを生かせていれば、5−0でスペインに勝ってもおかしくなかった」と評価した。(編集担当:柳川俊之)

  news.searchina.ne.jp/disp.cgi?y=2012&d=0727&f=national_0727_022.shtml




396 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 17:50:50.61 ]
>>393
始め、ってどの始めだ

397 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 18:15:18.31 ]
>>394
何度か再インスコしたんだけど無理だった。


>>396
起動すると「Visual C++ 2010 Express」て書かれて、その後その表示が消えて、そのまま何も起こらない。

398 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 18:19:58.70 ]
VSスレ行け

399 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 19:41:43.68 ]
>>380
C++ でoperator[]
ただし、ポインタが境界外っていうのはだめだね。
bcc32 -v -vG はどうだったっけ。

400 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 19:48:09.66 ]
C++はスレ違い

401 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 19:57:23.71 ]
インデックス値で境界外を指しても間違いとは限らねーし
Cの文法でインデックス正誤がどうこうの要求自体が間違ってる

402 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:02:22.47 ]
その程度、静的解析ツールはサポートしてるけどな。

403 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:07:18.22 ]
>>380
面倒でもassert使え

404 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:12:33.37 ]
>>401=アホ


405 名前:デフォルトの名無しさん [2012/07/27(金) 20:19:38.86 ]
>>404
アホはおまえ
インデックス値で境界外を指す間違っていない例を知らないだけだ



406 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:22:40.59 ]

恥の上塗り

407 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 20:27:43.78 ]
>>401
でも i が out of bounds で a[i] に読みにしろ書きにしろアクセスした時点でアウトでしょ?
だったら operator[] は有用だとおもうんですけど。

408 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:29:08.27 ]
ttp://ideone.com/Wudzl

409 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:31:52.10 ]
今更C言語なんかで改変に耐性のないクソコード書くヤツに
煩わされる様な事は無いだろうから
無知は放置の方向で

410 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:34:52.96 ]
世の中には問題にならない例も有る事なんかデバッグしなくていい理由にならんわ
問題が有るからデバッグするんだろ

411 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:36:56.02 ]
>>409=池沼

412 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 20:49:02.61 ]
>>408
それ、C99 以降ね。

あと、www.kouno.jp/home/c_faq/c2.html#6
>Dennis Ritchieは「Cの実装への根拠 のない馴れ馴れしさ」と呼んだ。

413 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 20:52:31.95 ]
【社会】 ノーベル賞・利根川進教授の15歳息子、米MITの寮自室で死亡…異臭で発覚、警察「事件性はない」
logsoku.com/thread/raicho.2ch.net/newsplus/1319691749/

414 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 21:10:23.34 ]
>>408
あと、文字列末尾の\0の分は足さなくてもいいのか?

415 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 21:18:34.01 ]
いつの話題だよ
池沼か?
事件性があるのはお前の話題の遅さだろks




416 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 21:21:15.86 ]
sizeof "hoge" は5だろ

417 名前: ◆QZaw55cn4c mailto:sage [2012/07/27(金) 21:37:20.90 ]
>>416
なるほど、thx。
でも普段これをやるときは strlen() を使わざるを得ないな。だって不定長のデータを扱うためなんだろう?この手の構造体を使う場合というのは。

418 名前:デフォルトの名無しさん [2012/07/27(金) 22:10:36.45 ]
sizeof "hoge"[100] == 1 が保証されるのを知らないアホは逃げたか?

419 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 22:37:36.57 ]
うん

420 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 22:48:56.65 ]
>>418=ゴミ

421 名前:あきら [2012/07/27(金) 22:54:01.24 ]
勉強期間がまだ3カ月程度でまだよくわかっていないので
説明お願いしたいです。
本当に困っているので
すみませんがよろしくお願いします!

    int i=0,n=1000;
while(n>0){
n=n-7;
i++;
}
printf("i=%d,n=%d",i,n);

答えがi=143,n=-1になることを説明お願いします。
iは1000/143であってますか?


422 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 22:56:58.45 ]
ゲーム「フォトカノ」のコミカライズ単行本が続々登場


エンターブレイン制作によるPSP用恋愛シミュレーションゲーム「フォトカノ」を原作にした、マンガ作品の単行本が連続してリリースされている。
7月25日にはアンソロジー「フォトカノ Omnibus Album」が、本日7月27日には柚木N'「フォトカノ Sweet Snap」の1巻が発売された。

「フォトカノ Omnibus Album」では成沢空、PONPON、星野円ら10名の作家が、各ヒロインをメインにしたエピソードを執筆。カバーイラストは
「鉄道むすめ」のキャラクターデザインで知られる、みぶなつきが手がけている。

一方「フォトカノ Sweet Snap」は、ヒロインのひとり・新見遙佳を軸に展開する長編ストーリー。月刊電撃マオウ(アスキー・メディアワークス)で
連載されている。アニメイト、コミックとらのあな、ゲーマーズ、まんが王、WonderGOOでは、「フォトカノ Sweet Snap」1巻の購入者に柚木N'
描き下ろしのイラスト特典を配布中。特典の数には限りがあるため、気になる人はお早めに。

またヤングアニマル(白泉社)で連載されている、ナイロン「フォトカノ Your Eyes Only」の1巻は8月24日にリリース。この発売を記念してヤング
アニマルと月刊電撃マオウでは、出版社の垣根を越えた出張掲載企画が実施される。8月10日発売のヤングアニマル16号には柚木N'が、
8月27日発売の月刊電撃マオウ10月号にはナイロンが登場し、互いに「フォトカノ」の出張マンガを発表する。

natalie.mu/comic/news/73658


blog.dengeki.com/wp055maoh/wp-content/uploads/2011/11/Ph5%EF%BC%88%E3%83%95%E3%82%A9%E3%83%88%E3%82%AB%E3%83%8E%EF%BC%89-410x300.jpg
blog-imgs-51.fc2.com/y/a/r/yaraon/82c5a3f7.jpg
blog-imgs-36.fc2.com/v/n/r/vnr2034/20120211162317b33.jpg

423 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 23:58:36.26 ]
キモヲタコピペマン参上!まで読んだ。

424 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 03:17:25.17 ]
>>412のリンク先に

>char namestr[MAXSIZE];
>ここでMAXSIZEは配列namestrに保存されうるどんな名前よりも大きい。
>しかしながらこの技法も、規格の厳密な解釈によると許されないようだ。

ってあるけどなんで?


425 名前: ◆QZaw55cn4c mailto:sage [2012/07/28(土) 04:40:03.39 ]
>>424
c-faq.com/struct/structhack.html
に補完されているのをみると、この場合も構造体の malloc() では、
struct name *ret = malloc(sizeof(struct name)-MAXSIZE+strlen(newname)+1);
ととり、同じく臨機応変に構造体のサイズが変化するがごとくに使うやりかたを指しているようだ。

これら二つのやりかたに関する議論の内容は残念ながらしらない。



426 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 05:20:20.74 ]
struct name {
int namelen;
char namestr[1];
};

これ初めて見たんだけどどう使うの?
はみ出すんじゃないの?

427 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 05:31:42.03 ]
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[1];
} BITMAPINFO;

mallocとかで必要なだけ領域を確保してアクセスするんだよ

428 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 05:37:05.30 ]
ああ、そういう事ね
サンクス

429 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 09:27:48.90 ]
>>421
何に困ってるのかよく解らんから、説明っつーても「書いてある通りだよ」としか。

430 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 11:57:25.56 ]
大炎上の楽天「Kobo」 「青空文庫で水増し」「英語しか使えない」「インストールできない」→レビュー非表示に
engawa.2ch.net/test/read.cgi/poverty/1343304708/

自称グローバル企業楽天三木谷「Windowsって漢字のアカウント許してるのかよw2バイトとかありえねぇ」
engawa.2ch.net/test/read.cgi/poverty/1343412938/

馬鹿な日本人が漢字使ってマンガしか読まないからw楽天三木谷日本人に宣戦布告か?
engawa.2ch.net/test/read.cgi/poverty/1343394199/

大炎上の楽天「Kobo」 「青空文庫で水増し」「英語しか使えない」「インストールできない」→レビュー非表示に
engawa.2ch.net/test/read.cgi/poverty/1343304708/

低評価レビューを隠して逃走した楽天・三木谷社長「細かいことで騒いでいるのは少数派ですよw」
engawa.2ch.net/test/read.cgi/poverty/1343390542/

三木谷「コボの出足は大成功、ネガティブな口コミは誤情報だから消し、内容を吟味して再掲載する」
engawa.2ch.net/test/read.cgi/poverty/1343403455/

431 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 13:58:58.70 ]
>>421
はい、合ってます

432 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 16:33:23.79 ]
>>421
いいえ、合ってません

433 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 00:18:52.00 ]
ある関数の中で別の関数の処理を書く事って出来ないんですか?

int main(){
void remain(){
i=2;
}
}

こんなの〜

434 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 00:25:50.94 ]
newしてvector型配列に追加したデータは
vectorの.clear()関数を使用した際にdeleteされますか?

435 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 00:40:03.31 ]
>>433
こういうこと?
ideone.com/XDEk3
できるっぽいね。初めてやってみたけど



436 名前:433 mailto:sage [2012/07/29(日) 00:46:49.28 ]
>>435
こんぱいら〜によっては出来ないんでしょうか?
わたしはVisual C++ 2010使ってますが関数の名前の箇所でコロン付けなさいと言われちゃう…
ルーチン呼び出しって思われてるのかな出来ませんでした><;

そのサイトで使われているのはgccでしょうかね

437 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 00:51:55.36 ]
>>436
調べてみたら関数のネストはGCCの拡張だそうです。
VC++ではできないみたいですね。

438 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 02:51:26.79 ]
関数内で関数定義なんて見にくいだけでいいことないだろ

439 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 03:59:11.54 ]
>>438
いや。使いたいことはある。特定のルーチンを使いまわししたいときは特に。
最近では AVL木。木の回転のまえのルーチンはメインの関数内に入れたいなと。

440 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 04:29:25.29 ]
中括弧閉じのマクロにしちまえばいいじゃん。

441 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 05:28:20.51 ]
>>439
C++でクラス階層を重ねる手法に時代は移ってる
Cは全ての関数が同じレベルにあるので管理が難しい

442 名前:433 mailto:sage [2012/07/29(日) 07:53:37.18 ]
なるほど〜
ではグニューCを使うべきなのでしょうか?VC++は学び始めた最初から使っていてある程度慣れてきた感もあるのですが…
関数の中に書く事でコードにある程度まとまった感が欲しかったのでやってみただけです
あと初心の段階でこういった依存性を体感できたのはちょっと嬉しかったり
よい経験に。

>>440
初心者なので分かりませんでしたw>ちゅうかっことじのまくろ

443 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 09:05:22.47 ]
別に関数かしなくても医院で内科医?

int main()
{
/* 適当に処理 */

/* remain */ {
i = 2;
}
/* 適当に処理 */
return 0;
}


444 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 10:18:19.69 ]
別の関数を呼び出さずに、1つの関数内だけでサブルーチンと同じ流れ
制御構造(コール、リターン)を実現する記述方法って、なにかありますか?

445 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 10:24:02.64 ]
>>444
つ[goto]



446 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 10:24:26.86 ]
setjmp

447 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 10:36:33.46 ]
>>445-446
情報ありがとうございます

448 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/07/29(日) 11:11:53.96 ]
>>442
C++ であれば関数内でクラス定義できるのを利用してこんな風に書けなくもない。
スレ違いだけど。

int i;

int main() {
struct d {
static void remain(){
i=2;
}
};
d::remain();
return 0;
}


449 名前:433 mailto:sage [2012/07/29(日) 11:15:29.69 ]
>>443
すいません。実は処理がi = 2だけじゃなく結構長いソースなので同化させちゃうと何度も呼び出さないといけなくなっちゃいます…

/* remain */ {
i = 2;
}

だけだとラベルがないので多数から参照できないお…、と言おうと思ったら>>444さんの会話の中で出ているジャンプ命令がありますねw

ですがすぱげってぃ〜状態になりませんか?ジャンプだらけだと…

やはりここは素直にmainルーチンのソトに置くのが妥当のようですね…。個人的に残念ではありますが

450 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/07/29(日) 11:19:20.72 ]
>>442
処理系の独自拡張を使うのは可能な範囲では避けた方がいいというのが一般的な意見じゃないかと思う。
特に関数内での関数定義はマクロで切り分けたりもしづらいタイプの機能なので移植性を損いがち。
更に言うならめったに使わない機能なので、変なバグが残っていたり将来的にサポートが打ち切られる可能性も少なくない。

といった欠点は指摘できるけど、利点と欠点を比べてどう判断するかは個別の状況によるトレードオフの問題。

451 名前:433 mailto:sage [2012/07/29(日) 11:29:41.03 ]
>>448
はちみつ餃子さんありがとうございます。
C++で書いてもいいのですがとりあえずは>>449に書いた暫定対策で行きますw

クラス定義とかは初耳です。
C++は参考書買ってないので(X_x)...
勉強します…orz

452 名前:デフォルトの名無しさん [2012/07/29(日) 12:17:56.38 ]
アルゴリズムはもう発見しつくされてるから
プログラミング業界って技術者がいらないの?

453 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 12:22:02.91 ]
> プログラミング業界って技術者がいらないの?
こういう質問に答えてくれるプログラムが開発されたらいらなくなると思うよ。

454 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 12:37:48.51 ]
>>452
こういうやつがいるから技術者が必要なんだよ

455 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 13:07:29.51 ]
技術者必要なんだけど、要らないやってずうっとやって来て、プログラムの作れない国になっちゃった。



456 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 13:19:15.60 ]
技術はほとんどが隠されて共有されないからね
世界各地で同じようなものを再発明しないといけないんだよ
だから技術者はいくらいても足りない

457 名前:デフォルトの名無しさん mailto:sage [2012/07/29(日) 14:24:05.39 ]
C++のSTLは車輪の再発明をかなり抑えたという功績は大きい
スレチだけど

Cで書いてると毎度同じような事を何回も書いてすごい時間を無駄にしているような
気がする

ライブラリ化して一般化すればいいんだけどMATLABのような物を一人で作る事は
まず無理






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<216KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef