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


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

C言語なら俺に聞け(入門篇) Part 55



1 名前:デフォルトの名無しさん [2009/10/29(木) 21:10:18 BE:227211146-DIA(352353)]
C言語の*入門者*向け解説スレッドです。
初心者、初級者の方は他の質問スレのほうが良いかもしれません。

教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 131代目
pc12.2ch.net/test/read.cgi/tech/1255709298/

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 54
pc12.2ch.net/test/read.cgi/tech/1254829314/

過去スレ
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

562 名前:デフォルトの名無しさん [2009/11/09(月) 15:25:01 ]
>>558
そーだよな
「名前のルックアップ」でいちいち10万エントリをサーチせずに済むようにローカル化するよな
プログラム全体で何万エントリあろうが1時点でのルックアップ範囲は狭く済むようにね

# ルックアップは何もコンパイラだけじゃなく PG 自身もやるわけで

>>559
いや、ここで論じている問題は
struct{
double a[3];
int b[3];
};
#define B 0
#define W 1
#define H 2
#define born 0
#define age 1
#define virgine 2
という配列の用法の是非だる?

563 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 15:28:01 ]
>>562
オレは #define より enum を使うぜ

564 名前:デフォルトの名無しさん [2009/11/09(月) 16:23:57 ]
>>563
列挙子の数が配列のサイズを超えたかどうか、どうやって調べる?

565 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 16:37:39 ]
列挙子の最後にMAXなんちゃらってのを追加して
sizeof(配列)と比較する

566 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:03:52 ]
配列の利点はメモリ上に連続して取られることだろ
つまり、配列は連続領域を(静的に)確保及び参照するときに使う複合データ型

規格書に書いてあることでも書いたら100点もらえるんじゃないの
ISO/IEC 9899:1999 (E)
6.2.5 Types
20
― An array type describes a contiguously allocated nonempty set of objects with a
particular member object type, called the element type.36) Array types are
characterized by their element type and by the number of elements in the array. An
array type is said to be derived from its element type, and if its element type is T , the
array type is sometimes called ‘‘array of T ’’. The construction of an array type from
an element type is called ‘‘array type derivation’’.
C99でごめんねごめんね

567 名前:デフォルトの名無しさん [2009/11/09(月) 18:36:16 ]
>>565 >>566
列挙子を増やすとサイズが自動的に増加する配列があったらなあ・・・

って要求にほぼ答えられる機能があるわけだが、それでも配列でと頑張ると

別に B へのポインタに +1 で W にアクセスなんかできなくていいけど、
レジスタ割付くらい可能なところでは当然やって欲しいなあ・・・

って要求は諦めることになるよな

568 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:38:25 ]
int *p;

DisplayInside_of_TheVariables = p;
DisplayInside_of_TheVariables = *p;


これは何がどう違うのですか。

569 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:42:09 ]
36)オブジェクト型は不完全型を含まないので,不完全型の配列は作ることが出来ない。


570 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 18:44:19 ]
>>568
上はint*型の代入で下はint型の代入




571 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 22:51:58 ]
>>567
こんなんでどや?
gcc でならコンパイルできるぞ

#include <stdio.h>

enum{HOGE0, HOGE1, HOGE2, HOGE_MAX};

int main(void){
int i, a[HOGE_MAX];

for(i=0;i<HOGE_MAX;i++) a[i]=i;
printf("%d\n", a[HOGE_MAX-1]);

return 0;
}

572 名前:デフォルトの名無しさん [2009/11/09(月) 23:10:56 ]
>>571
その HOGE_MAX ってのを自動というかどうかだが、
その例で HOGE_MAX としている列挙子がいかなる識別子とも干渉しないことを担保する
普遍的な方法論はあるのか?

573 名前:デフォルトの名無しさん mailto:sage [2009/11/09(月) 23:56:07 ]
>>572
そんなのある訳無いじゃん
強いて言うなら命名規則で頑張る

574 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:04:53 ]
ゲーツェーツェー

575 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:09:31 ]
X Windows Systemに代表されるようにプレフィックスをつけて長い関数名になるんですね、わかります
そんな僕は、JPEGやCore Foundationの書き方をリスペクトしている

576 名前:デフォルトの名無しさん [2009/11/10(火) 00:27:40 ]
自分の揚げ足を取ることになるが「いかなる識別子」というからにはマクロ名まで含んでしまうな

#define a b
int a, b; //oops!
・・・て、そういう意図じゃなくwww

enum hage {HOGE0, HOGE1, HOGE2};
int a[sizeof(enum hage)];
で自動的に int a[3]; になるような方法ね

仮に HOGE3 を追加する場合、HOGE3 自身と HOGE0, HOGE1, HOGE2 との間に
どんな関係を保証させればよいのか、さらに保証させなくてよい(保証させてはいけない)のか、
によって色んな構文・機能を使い分けるわけだよな

そこで配列という選択に至る、なるべく仮定の少ない例を聞いているわけだ

577 名前:デフォルトの名無しさん [2009/11/10(火) 00:41:32 ]
あきらめたらどう

578 名前:デフォルトの名無しさん [2009/11/10(火) 00:43:01 ]
何を?

579 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 00:50:36 ]
>576
sizeof(enum hage)ってなんだよ

580 名前:デフォルトの名無しさん [2009/11/10(火) 01:01:44 ]
いやまあ 4 にしかならんけど

配列なら
int a[3];
sizeof a / sizeof a[0]
で要素の数 3 がとれるだろ?

それと同様に、
列挙型から列挙子の数をとる一般的な方法はあるかって話
ちなみに今んとこなさそうって思いながら聞いている



581 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 01:09:20 ]
そういうことね

列挙型の列挙子の数をとる方法ない(気がする)
しばしば、一番最後にダミーを入れたりするが、
enum {
  foo = 128,
  bar,
  baz,
  dummy
};
とかしているときには終わっている

そもそも何の目的で列挙子の数を知りたいのかによって、
別の解決方法があるかもしれない

582 名前:デフォルトの名無しさん [2009/11/10(火) 01:42:16 ]
>>581
ことの発端は >>549 でさ
俺が >>557 と返したら >>571 ときたわけよ
ダミー列挙子みたいな不純物を必要としない
きれいな方法はバラ変数か構造体で、
配列の用途じゃねえだろって立場をとってたんだ

それで仮に列挙子と配列の要素をきれいに対応させる
バラ変数や構造体よりも合理的な方法を誰か示したら
俺の負けかなって思って詰ろを作って待っていたんだが
みんな寝ちまったみたいだし、俺も眠いし・・・

583 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 01:55:49 ]
>>558
グローバル変数が構造体で1億個とかあるらしい>某住基ネット上アプリ

584 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 02:10:11 ]
>>583
ネタだと思いたいが、ひょっとして子[1]、子[2]...は駄目で、
長男、次男、三男...とかになってるのだろうか。

585 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 02:59:01 ]
>582
>それで仮に列挙子と配列の要素をきれいに対応させる

つまり、それは写像だな
列挙子集合E = {x | x e _N}, 配列A = {y | y e _R}が存在し、
f: x e E -> y e Aなるfを定義すれば良い

最初は全単射と思ったが、単に単射(|E| ≧|A|)であればよかった
f def= ∀y e A [∃x e E]ごめん、数学そんなにやってないんだ

C言語では、
type_t f(enum E x) {
  int x_dash;
  /* do_something */
  /* 例えば、x_dash = x / 2; */
  x_dash = x / 2;
  return A[x_dash];
}

もっとも、
type_t A[N]; /* N = 128とか */
type_t *map(type_t *array, enum E x)
{
  return (array+hash(x));
}
int hash(int x)
{
  return x % sizeof A;
}
となるが、これが合理的かと問われたら、
まったく合理的ではありませんでした、ありがとうございました
と言うよりこれは、整数のハッシュ法じゃないかよ

586 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 03:21:26 ]
C言語に限らないプログラミング言語一般論の領域
になってしまっている件と、生半可な集合論数学表現とか
振り回す人が出てきてる件について、この話題はいったん休止が
良いかと

587 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 03:28:57 ]
>>582
普通についてる>>560を何でスルーしたんだろうなぁ

それはそれとして、cのenumはやっぱ不便だよね。
他言語で改良されてる点はまさに改良だなと思う。

588 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 03:31:36 ]
>>586
しかもあさっての方向の話はじめちゃってるしね

589 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 03:43:19 ]
データ構造上やアルゴリズム上のエレガントな問題解決手段という
理由から配列を使うというのは古き良きアカデミズムな世界の話。
現実のプログラミング現場では名前空間管理の負荷が大幅に
軽減されるというコード作成上のメリットが絶望的に大きいので、
エレガントになろうがなるまいが構造体配列を使わざるを得ない
ことが多い。(てかほぼ全て)
しかしそこには問題の無理な構造化、規格化による現実との乖離の
危険性が伴うので、問題視する人も多い。

590 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 03:46:40 ]
構造体も配列も堅固な理論的バックボーンの成果じゃなくて
苦し紛れに作られたシンタックスシュガーに近い



591 名前:249 [2009/11/10(火) 10:13:04 ]
>>249>>440>>448ですが

>>450をどこにいれればいいかわかりません…

>>440を基盤に作りたいんですが>>450はどこにいれるんですか?

592 名前:デフォルトの名無しさん [2009/11/10(火) 10:16:53 ]
>>586
ここで出てきている配列と列挙子は、
C に特有の性質を十分に使っているし、
性能面の評価も C 流だが?

>>587
コンパイラのシンボルルックアップが
実行時のアドレス計算として持ち越されるわけだが
全レスの義務はないし個人的につまらなかったんで・・・

593 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 11:06:19 ]
>>591
消したコードを元に何を言ってるんだ?
>>592
プロセッサレベルで元コードが配列として表現
されていたのかそうでないのかを区別することが出来る
とでも思っているのか?

594 名前:デフォルトの名無しさん [2009/11/10(火) 11:14:35 ]
>>593
色々仮定をおけば区別がつかなくなる場合はありそうだが
この流れの中でそんなのに構うつもりはない

595 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 12:24:11 ]
>>592
実行時のアドレス計算は関係ないよね。
コンパイル時のシンボルルックアップ負荷の話でしょう?

596 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 12:25:39 ]
コンパイルにやたらと時間がかかった昔ならともかく、
今でもそういうことって気にすべきものなの?

597 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 12:47:29 ]
昔だって気にしないよ

598 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 13:32:59 ]
そういうことを気にすべきじゃないよ。
けれど、今でもビルドにやたら(数時間でいい?)と時間がかかる場合は少なくともC++でまれによくある
あえてこういう表現にしてみた。

599 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 13:41:48 ]
誤解があるといけないので。
シンボルルックアップのせいでやたらと時間がかかる場合があるということではないです。
もしそうなった場合にそれをコードの面で解決しようとすることはないでしょうね

600 名前:249 [2009/11/10(火) 13:43:31 ]
コードきれていました
>>249>>440>>448ですが

>>450をどこにいれればいいかわかりません…

www.dotup.org/uploda/www.dotup.org348416.txt.html
を基盤に作りたいんですが>>450はどこにいれるんですか?



601 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:22:07 ]
「まれによくある」って2ch語?

602 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:22:35 ]
消えないように貼っておいたげた
codepad.org/TuCBekq8

603 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:23:58 ]
>>601
2ちゃんではまれによく見るね

604 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:26:34 ]
>>601
ググればすぐ答えが出るようなものを、一々質問してんなよw

605 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:27:48 ]
まれによくある
の解釈
数的には実はよくある がそういうのは集積されており
目にすることは意外に少ない

606 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:34:47 ]
配列を使うことによるメリットとデメリットを列挙出来る?

607 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:37:55 ]
出来る

608 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 15:04:50 ]
居座ってる人が何をしたいのか分らん

609 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 15:21:29 ]
出来るがしない

610 名前:デフォルトの名無しさん [2009/11/10(火) 15:58:42 ]
>>595
だから何つっちゃうよ?
プログラム中に何万だかあるシンボルを同一空間に置けつったんだろ >>560 はよ、でそれを俺はつまんねつったわけ
つーか、#define から enum へもう流れが変わってるんだが、まだ翻訳フェーズ(4)にこだわりたがるのは何でだ?

255歩譲って、翻訳フェーズ(4)の話に戻っても、翻訳環境の負荷を軽くって定量的にどのくらいやるべきだと思っている?
それは配列が向かない用途(断言)に、理を曲げてまで配列を使わせるほどの事情たりえたことが、おまえさん自身あったのか?
そのうえでだが、それは配列の存在意義を聞かれたときの答えとして妥当だと思うか?



611 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 16:26:11 ]
オタクがきれた^^

612 名前:デフォルトの名無しさん [2009/11/10(火) 16:48:25 ]
C言語の勉強をしたいのですが、関係した資格はなんですか?
情報処理2種ですか?

613 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 16:52:27 ]
今は情報処理2種っていう資格は名前が変更になって
C言語以外もいろいろ選択できるようになってるけど
それでいいんじゃないでしょうか。

614 名前:デフォルトの名無しさん [2009/11/10(火) 16:58:30 ]
ニコニコ動画で2009年10月15日に投稿された「【プログラミング】テトリスを1時間強で作って
みた【実況解説】」という動画が人気を集めている(写真1)。公開されてから2週間ちょっとで
15万回以上も再生され,コメントも数多く寄せられている。

内容は,開発ツールのインストールからスタートしてWindows環境でC言語を使い,わずか1時間強
でテトリスを完成させるというもの。そのあざやかな手腕には,感嘆の声がコメントで寄せら
れている。プログラミングそのものがエンタテインメントになっており,1時間強見ていても全く
飽きることがない。

ニコニコ動画で「うp主」と呼ばれる動画投稿者はどんなプログラマなのだろうか?と思い,インタ
ビューを申し込んでみた。うp主の名前は,紀平拓男さん。東京・南青山で携帯電話向けのソフト
ウエア開発会社ブロードテイルを経営する若きプログラマCEO(最高経営責任者)だ。きっとプログラ
ミング初心者の参考になる話を聞けるに違いない,と期待しながらインタビューを始めたが,予想以上に
“すごい”紀平さんのプログラミング歴に圧倒される結果となった。

──1時間強でテトリスを作れるのはすごいですね。プログラミング歴を教えてください。

幼稚園のころからですね。当時,セガが「SC-3000」というパソコンを出していて,これが家にあり
ました。あるとき,親が「ベーマガDX」(注:電波新聞社が発行していたプログラミング雑誌「マイコン
BASICマガジン」の別冊。様々なパソコン用のゲーム・プログラムなどを掲載していた)を買ってきた
ので,そこに載っているプログラムを打ち込んでいました。

当時は「これを打ち込むとゲームができる」という認識しかなかったですが。SC-3000には顔のキャラ
クタがあってそれをBASICのPRINT文で表示して親に自慢げに見せていたそうです。

テトリスを1時間強で作ってみた(ニコニコ動画)
www.nicovideo.jp/watch/sm8517855

itpro.nikkeibp.co.jp/article/Interview/20091104/340019/

615 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:03:36 ]
ニコ厨ってだけでちょっとね

616 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:07:52 ]
あえてまれによくあると表現したのはTMPだとよくあるけどTMPを駆使するのはまれだから。

617 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:09:33 ]
>>610
おお、どうしたんだい?
そもそもの、プログラム中に何万だかあるシンボルが同一空間にないという仮定を持ち出してはならんぞ。

618 名前:デフォルトの名無しさん [2009/11/10(火) 17:29:06 ]
>>617
なんだそりゃ
どっから出てきた? 配列を使うからか?
違うね、配列を使うにしても分割のしようはあるが
おまえさん翻訳フェーズ(4)にご執心なんだっけ
#undef という手はあるが、前述のとおり俺は興味ない
面白そうな話でも出てくれば別だが今んとこ否定する

619 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:49:59 ]
>>618
ちがうちがう。
配列にする前の、数万だか数十万だかの変数が、同一空間にある可能性を元の話題で否定していないのよ。

620 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:51:27 ]
ちなみに>>599も俺で、
> 配列が向かない用途(断言)に、理を曲げてまで配列を使わせるほどの事情たりえたことが、おまえさん自身あったのか?
もちろんない。



621 名前:デフォルトの名無しさん [2009/11/10(火) 18:25:11 ]
>>619
元々が同一空間にぶちまけられた瓦礫の山でも何とかするのが俺らの仕事
そこで配列の出番かどうかが、この流れでの論点だったはずだが、違うかい?

622 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:27:16 ]
テトリスくらいできるよ馬鹿野郎


623 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:33:01 ]
1時間でコールオブデューティー4を作る…とかだったら。

624 名前:デフォルトの名無しさん [2009/11/10(火) 18:53:39 ]
むかーし、PC ショップであたかも即興でマシン語たたいて得意がってたのがいたが
何のことはない暗記してきたコードを再生していたに過ぎない(本人談

625 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:00:51 ]
砂漠が良いか賽のが原が良いかってことだったらどちらも
かなり困ったもの。程度問題。メリット、デメリットのバランス
で決めるべき問題だろ

626 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:01:29 ]
むかーし、pcショップで文字列を繰り返し表示させて画面を埋めるプログラムを書いたら、
ちょっと目をはなした隙に画面中央にその文字列を色を変えながら表示するプログラムに
書き換えられていたでござる。

627 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:03:02 ]
それからも書き換え合戦は行われ、生まれたのがWindowsです。
相手は嫁です。

628 名前:デフォルトの名無しさん [2009/11/10(火) 19:08:54 ]
0 new
cls

629 名前:デフォルトの名無しさん [2009/11/10(火) 19:12:31 ]
>>626
POKE 文でアトリビュート変えたんだろな

630 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:40:31 ]
>>626
実は私が犯人かもしれないw
詰まらないデモが動いてたら今で言う「伝言板スクリーンセーバー」的な
プログラムを動かすくらいはよくやってたから。
それも、リストを覗かれないように一行野郎で。



631 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 01:00:13 ]
enum number{
one, two, three, four, five,
six, seven, nine, zero
};


632 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 20:12:09 ]
4の倍数のアドレスにあるintと4の倍数からずれてるアドレスにあるintって計算コストって同じ?

633 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 20:30:10 ]
>>632
アドレッシング単位のプロセッサやメモリバスとのミスマッチの
問題は本来はかなり深刻。アドレスによって処理速度がかなり
極端に変わってしまう。
ただPCに限って言えばプロセッサのキャッシュが多層化され、
アドレッシング単位の違いによる相違を吸収されてしまっている
現在あんまし寝た子を起こすような質問をしないこと

634 名前:デフォルトの名無しさん [2009/11/11(水) 21:13:55 ]
>>632
境界要求に違反するアクセスの結果を C は言語規則として定めない

635 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:36:29 ]
大抵はコンパイラが良い位置に配置するだろ。
char a, b, c;
int d;
とやったら c のあとに1バイトの未使用領域作ったり、
d a b c の順にするとか。


636 名前:デフォルトの名無しさん [2009/11/11(水) 21:44:53 ]
自動変数ならレジスタ割付するだろ

637 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:51:54 ]
ちんこ

638 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:52:17 ]
ほら湧いてきた

639 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:38:15 ]

今思うとハァ?な叱られ

「構造体は必ずビットフィールド使え! メモリは少しでも節約するのが常識だ!」

「mallocを無駄がないように確保しろ!」



640 名前:デフォルトの名無しさん [2009/11/11(水) 22:40:55 ]
unsigned int *uint;
と宣言したものを、

*(long int *)uint;
とキャストするとuintは何になるのですか。

long int **uintですか。

int int32;
(int *)int32;

とか、何になるのかよくわからないのですが。



641 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:50:17 ]
long int だろ。

642 名前:デフォルトの名無しさん [2009/11/11(水) 22:50:21 ]
叱っている側としては
「ビットフィールド、ビット演算とは実体が何かよく理解して使え」
「詳細に着手する前にシステム全体のキャパシティとストラテジを把握しておけ」
「malloc の計算間違いは以ての外、超最低なので絶対にやるなよ」
といっているつもりなんだが、この原発信が
昼下がりに心がすでにアフター5な「ニュータイプ」たちの脳内で
どんな減衰劣化を受けているかは、近頃なかなか驚きゃせん
だからスパイラルを何回回れるかで道はまだあったりする
甘くも苦くもね

643 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:56:23 ]
そもそも言われた言葉の意味を理解していないからな

644 名前:632 mailto:sage [2009/11/11(水) 23:01:33 ]
レスd
ホンとはだめだけどPCなら気にスンナってことか


645 名前:デフォルトの名無しさん [2009/11/11(水) 23:17:45 ]
いや、恐いよ
平然とビットズレを一切何の警告もなくやってのけたり
例外をつかまえるのにシステムコールが必要だったり

646 名前:デフォルトの名無しさん [2009/11/11(水) 23:18:23 ]
ユーザモードでバッチグーだったコードが特権モードではNGだったりね

647 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 06:25:16 ]
プログラマが完璧に制御できてると思ってるmallocは、OSがテキトーに確保してプロセスに渡してるだけ
本当にそれだけ確保したか分からないし中の挙動も分かってない
でなきゃフラグメントなんか起こり得ない

648 名前:デフォルトの名無しさん [2009/11/12(木) 07:13:04 ]
そのへんは「情報隠蔽」の理念に乗れる人と乗れない人の差だね
別に C++ でなくとも C でもやっぱり解ってなきゃいかん






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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