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


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

「コンパイラ・スクリプトエンジン」相談室10



1 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 00:59:13 ]
プログラミング言語処理系の開発に興味のある人達のスレッドです。

字句解析・構文解析から,データフロー解析,ループ並列化,データ分散,SSA変換,
CPS変換,レジスタ割付,命令スケジューリング,ソフトウェアパイプライン,
SIMD命令生成,VLIW向けクラスタリング,スクラッチメモリ向け最適化,リンク時最適化,
JIT,動的バイナリ変換等の各種最適化,それにVM,GC,低消費電力化などなど。
意味論に関する話題も歓迎です。

過去スレ
1 pc.2ch.net/tech/kako/981/981672957.html
2 pc2.2ch.net/test/read.cgi/tech/1021136715/
3 pc5.2ch.net/test/read.cgi/tech/1070089173/
4 pc5.2ch.net/test/read.cgi/tech/1100097050/
5 pc8.2ch.net/test/read.cgi/tech/1106129164/
6 pc8.2ch.net/test/read.cgi/tech/1115335709/
7 pc8.2ch.net/test/read.cgi/tech/1129287390/
8 pc8.2ch.net/test/read.cgi/tech/1131273918/
9 pc8.2ch.net/test/read.cgi/tech/1135082582/
関連リンクは多分 >>2-10 あたり

167 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 14:03:54 ]
お前らはいつになったらデレに変化するの?

168 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 16:09:21 ]
>>167
でもデブは居るはず


169 名前:デフォルトの名無しさん mailto:sage [2006/05/14(日) 20:54:24 ]
ツンデブ?

170 名前:デフォルトの名無しさん [2006/05/15(月) 23:45:24 ]
>>162
bison って書き方確かにキモイよね。
機能がいいので、仕方無く使ってるけど、
もっとよい書き方のできるWrapperとかないんだろうか?

171 名前:デフォルトの名無しさん mailto:sage [2006/05/16(火) 19:56:54 ]
やっぱコンパイラを書くなら
オブジェクト指向言語でinterpreterパターンで書くのが一番だよね。
自分の好きな言語で書けるし。

172 名前:デフォルトの名無しさん mailto:sage [2006/05/16(火) 20:01:58 ]
>>171
お前ってリファクタリングのこと何も知らないんだな。
まあ、いいけど。

173 名前:デフォルトの名無しさん mailto:sage [2006/05/16(火) 20:18:25 ]
リファクタリングが何か関係があるわけ?

174 名前:デフォルトの名無しさん mailto:sage [2006/05/16(火) 20:39:00 ]
>>170
BoostのSpiritでも使ってみれば?

175 名前:デフォルトの名無しさん mailto:sage [2006/05/16(火) 22:07:20 ]
>>173
まずは読んでみたら?



176 名前:デフォルトの名無しさん mailto:sage [2006/05/16(火) 22:08:44 ]
>>173
デザインパターンっていうのは、型に当てはめるもんじゃないっていうこと。
詳しくは「リファクタリング」を読め。

177 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 01:33:03 ]
>>176
>デザインパターンっていうのは、型に当てはめるもんじゃないっていうこと。
意味不明なんだが?デザインパターンは型に当てはめるものだろ?

>詳しくは「リファクタリング」を読め。
そういう本があるのか?

178 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 02:26:10 ]
>>177
>デザインパターンは型に当てはめるものだろ?
型に当てはめるもんだけど、単純に当てはめればいいというものでもないんだな。

179 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 02:38:42 ]
>>177
何もわかってない。勉強しなおせ。

180 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 02:42:48 ]
答えも出さずに勉強しなおせもねーだろ。

181 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 03:08:27 ]
>>180
勉強すればわかるよ。
ここで答えを求めるな。

182 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 03:09:28 ]
だいたい、読めば良い本を指し示してやってるんだから読めよ。

183 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 03:44:50 ]
今さっき提示した本を読めるわけねーだろーがボケが。
つーかお前の言ってること的外れなんだけど?
リファクタリングって言葉最近覚えたか?

184 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 06:10:24 ]
自他共に認める無知、あるいは、自分では一応知識があるつもりだけど
それが本当に試される状況は怖いから避けたい人、
そういう人種が「そのくせ偉そうにしたい」時には便利ですよね<○○読め、勉強しなおせ

185 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 10:57:43 ]
そこまで分かってるなら絡むなよw
デザパタの話は常に不毛。



186 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 12:35:10 ]
馬鹿だね

187 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 12:42:39 ]
デザインパターンって単に良い設計だと多くの人が思ったパターンを集めたに過ぎないのでは?
自分の設計をどうやってそのパターンに当てはめるのかと考えはじめたら、
多種多様なパターンを複合的に使わなくてはいけなくなって、
逆に複雑になりすぎてしまうから良くない、という話だと思うんだけど。
まずはデザインパターンに無理に当てはめようとするのではなく、自分の好きなように設計して、
リファクタリングしながら徐々に人気があるいくつかのデザインパターンの形に近づけて行けばよい。
(もちろん、有名なパターンそのものになるとは限らない)

188 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 13:15:05 ]
スレタイに即した物なんか何一つ作れない無能なのが
ありありとわかるレスが続けてるなぁ。
ここらで流れと住人レベルが戻ってくれるといいのだけど。

189 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 13:18:12 ]
>>188
まあ、それなりに書けるやつならお前みたいなことは書かないと思うけど

190 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 13:26:23 ]
思うのは自由だしね。

191 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 13:35:52 ]
一度インタプリタのようなものでも作った事があればそんなに難しいことじゃないことぐらい分かるだろうに、
>>188は一度も何も作ったことがないんだろうなあ。

192 名前:デフォルトの名無しさん [2006/05/17(水) 13:39:53 ]
そんなに難しいことじゃないから
できないことが無能に該当するんだよ。

限られた人間しかできないことができなくても、それはせいぜい凡人だよね。
無能と呼ぶのは不適切。

無能の二文字があまりにも図星で頭に血が上ってるのはわかったけど、
噛み付く行為によって一層相手の言い分が証明されるのは悲惨の一語だから
気をつけたほうがいいですよ。

193 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 13:44:29 ]
>>192
顔が真っ赤ですよ

194 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 13:54:24 ]
それはお気の毒に。

195 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 14:52:47 ]
>>187
漏れは傍観者だけど、
「インタプリタで実行するようにコードをなぞってオブジェクトを生成する」と
説明的で長くなるところを「interpreterパターン」と一言で言っているわけです。

別に本等で「interpreterパターン」とかを調べてそれに準拠せよ、
と言っているわけではなくて・・・

>デザインパターンって単に良い設計だと多くの人が思ったパターンを集めたに過ぎないのでは?
単にパターンに名前を付けて話をしやすくしたってだけのことでしょう。
よっぽどのバカじゃないと無理に当てはめるなんてあり得ないし。
本末転倒。



196 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 15:05:18 ]
命名は認識の規格化であり、互換性の最小単位である。
                           ――ガッツ石松

197 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 17:11:23 ]
質問カキコ

式の正当性って、どうやってチェックすれば良いのでしょうか?
1+2=3が正しい式で、1 2 + 3 =が正しくない式だというのは人間にはすぐに分かるのですが…。

・左右括弧の数をチェックする
・演算子の数=定数や変数の数-1であるかをチェックする(-5等の-の様な単項演算子は除く)

これぐらいしか思いつかないのですが、具体的な方法等あれば教えて頂ければと………m(_ _)m

198 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 17:12:12 ]
ちなみに、中置記法の場合です。
正当性をチェックしてから、後置記法に変換しようと思っているので。

199 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 17:32:55 ]
>>197
「正しい式」を定義して、
その定義に従ってパーサを作って、
パーサが受け付けないものが「正しい式でないもの」。

「正しい式」「正しい式でないもの」を判別するのは出来るだろうけど、
「正しい式」「正しくない式」ってのはなんだかよくわからない。
正しくないけど「式」?

200 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 17:45:43 ]
「正しくない式」という表現を否定するなら
式にいちいち「正しい」とつける意味も無いのでは。

「式」「式でないもの」でじゅうぶん。

201 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 18:10:00 ]
なんだかよくわからないなりにも、もしかしたら>>197的には
「正しくない式」というのの定義があるのかもしれないと思って・・・

202 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 18:10:25 ]
正しい式って仕様どおりの式のことでしょ?

203 名前:197 mailto:sage [2006/05/17(水) 20:00:19 ]
すみません、「正しい」や「正しくない」は中置記法の数式としての観点からです。

204 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 20:54:08 ]
>197
詳しく知りたかったら形式言語を勉強するといいんじゃない?

205 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 21:20:12 ]
あなたの中置記法では -1+-2 は正しい式ですか?



206 名前:197 mailto:sage [2006/05/17(水) 21:37:23 ]
>204
形式言語ですか? 調べてみます。
>205
はい、正しい式です。

207 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 22:43:55 ]
>>206
「文脈自由文法」「LL構文解析」「LALR構文解析」「lex yacc 電卓」でググれ

208 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 23:29:00 ]
LR(1)とかLALR(1)を一言であらわすと
「小さなことからコツコツと(Byキー坊)」
ってことでよろしいでしょうか?

209 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 05:59:46 ]
>>197
演算子優先順位法で十分

210 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 12:06:22 ]
        ,.-─ ─-、─-、
      , イ)ィ -─ ──- 、ミヽ
      ノ /,.-‐'"´ `ヾj ii /  Λ
    ,イ// ^ヽj(二フ'"´ ̄`ヾ、ノイ{
   ノ/,/ミ三ニヲ´        ゙、ノi!
  {V /ミ三二,イ , -─        Yソ
  レ'/三二彡イ  .:ィこラ   ;:こラ  j{
  V;;;::. ;ヲヾ!V    ー '′ i ー ' ソ
   Vニミ( 入 、      r  j  ,′ お前ら死ねよ
   ヾミ、`ゝ  ` ー--‐'ゞニ<‐-イ
     ヽ ヽ     -''ニニ‐  /
        |  `、     ⌒  ,/
       |    > ---- r‐'´
      ヽ_         |
         ヽ _ _ 」

211 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 01:36:35 ]
>>197
207が言うようにyaccが使えりゃ一発だけど、言語がCじゃないとかの
理由で使えないなら(JavaならJavaCCとか、たいていなんかのパーサジェネレータは
あるけどね)、「再帰下降パーサ」または「再帰下降パーザ」でぐぐればよいかと。


212 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 02:56:58 ]
再起下降型ならちょっと文法変換しないとだめだよね。

213 名前:デフォルトの名無しさん [2006/05/19(金) 10:10:53 ]
下降は負け犬がつかうパーサだからな。
Lisp,Emacs に通じるものがある。

214 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 11:47:32 ]
>>213

215 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 16:36:53 ]
>>213




216 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 16:38:13 ]
このスレでナンセンスなことを言ってるやつはすべてRuby狂信者ということでよろしいですか?>ALL

217 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 18:16:59 ]
つまりあなたも?

218 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 20:04:49 ]
>>213
勝ち組はボトムアップってこと?

219 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 20:22:53 ]
負け犬とか勝ち組とか激しくワラタ

220 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 21:06:31 ]
というか >>213 が最高にバカだな。本気でいってそうなあたりが。
再帰下降が負け組だって?低能はものを知らないね。

221 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 22:25:00 ]
>>213 の今後の行動
1. ネタでした
2. 話題をかえて荒す
3. Ruby 狂信者のフリをする
4. Ruby を煽ってごまかす
5. Lisp を煽ってごまかす
バカはどーゆう行動にでるのかな。消えてくれると一番
たすかるけどアホのくせに粘着だからなぁ

222 名前:213 mailto:sage [2006/05/19(金) 22:33:57 ]
すまん。誤爆した

223 名前:213(リアル) [2006/05/20(土) 00:55:22 ]
なんか、馬鹿なレスがついとるけどw

再帰下降ってつまり、パーサーのために文法を変えるでしょ?
そこが負け犬なわけよ。わかる?

言語はツールに縛られてはいかんのよ。

224 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 01:03:08 ]
>>223
文法を変えるというか、左再帰が起こらないようにBNF的に分解するだけっていうか。実際には文法を変えているわけじゃないんだけど。
文法を変えるって言うと誤解する人がいるから。

225 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 01:08:07 ]
ちょ www おまっ www

>>213 がいくら馬鹿とはいえ >>223 はありえないだろ?
さすが想像のナナメ上をいくな。え?本物?



226 名前:デフォルトの名無しさん [2006/05/20(土) 02:45:58 ]
でも再帰下降で作ってて左再帰回避をするのって負けだよな。
やっぱり上昇型で文脈自由文法に素直に解析したい。

227 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 02:51:35 ]
>>226
で、それを手で書いてみろと言われたら?

228 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 03:42:23 ]
CPS変換について、勉強中なのですが、詳しく書いてあるサイトか、書籍を教えてください。


229 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 04:50:38 ]
#include <vector>
#include <functional>
#include <stdio.h>
#include <ctype.h>
bool expression();
char buf[1000], *pc = buf;
std::vector<int> data; std::vector<bool(*)()> ops;
bool end(int c) { return c == 0 || c == '\n' || c == '\r'; }
bool get(char& c) { while (!end(*pc++)) if (!isspace(c = pc[-1])) return true; return false; }
bool get_digit(char& c) { return get(c) && (isdigit(c) || --pc && false); }
bool is(char c) { char d; return get(d) && (d == c || --pc && false); }
bool number() { char c; if (!get_digit(c)) return false; data.push_back(0); do { data.back() = 10 * data.back() + c - '0'; } while (get_digit(c)); return true; }
template<typename T> bool binary(T t) { int i = data.back(); data.pop_back(); data.back() = t(data.back(), i); return true; }
bool add() { return binary(std::plus<int>()); }
bool subtract() { return binary(std::minus<int>()); }
bool multiply() { return binary(std::multiplies<int>()); }
bool divide() { return binary(std::divides<int>()); }

230 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 04:52:16 ]
bool no_operation() { return true; }
bool plus() { return true; }
bool minus() { data.back() = -data.back(); return true; }
bool push(bool(*op)() = no_operation) { ops.push_back(op); return true; }
bool pop() { ops.back()(); ops.pop_back(); return true; }
bool additive() { return is('+') && push(add) || is('-') && push(subtract); }
bool multicative() { return is('*') && push(multiply) || is('/') && push(divide); }
bool unary() { return is('-') && push(minus) || (push(plus), is('+')); }
bool factor() { return (number() || is('(') && push() && expression() && is(')')) && pop(); }
bool term() { return unary(), factor() && pop() && (!multicative() || term()); }
bool expression() { return push() && term() && pop() && (!additive() || expression()); }
int main() { while (fgets(pc = buf, sizeof buf, stdin) && push() && expression()) printf(" = %d\n", data.back()); }

231 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 04:54:38 ]
標準入力から正しい式が入力されたら、計算し、
正しくない場合は、何もせずに終了するプログラムをC++で書いてみた
やっつけですが

232 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 05:38:51 ]
再帰下降で左再帰を 回避する必要なく ね?
LLじゃないんだから。
そりゃLRよりは制限きついだろうけど。
むしろ再帰下降を避ける理由はバックトラックによる効率の悪さでしょ。

233 名前:デフォルトの名無しさん [2006/05/20(土) 05:57:07 ]
スクリプトホストを作っているのですが、IActiveScript::GetScriptDispatch()でわからない所があります。
GetScriptDispatch()でpstrItemNameにNULLを指定した場合には、スクリプトコンテキストのグローバル変数やグローバル関数をスクリプトホストから呼び出す事が可能なIDispatchポインタが取得できます。
しかし、pstrItemNameにNULL以外を指定した場合にはこれはどういう意味があるのでしょうか?
pstrItemNameにはIActiveScript::AddNamedItem()で設定した名前が指定できます。
この名前は一般的にはスクリプトホスト側が提供するオブジェクトの名前ですが、GetScriptDispatch()でこの名前を指定するとやはりIDispatchポインタが取得できます。
このIDispatchポインタにはどういう意味があるのでしょうか?
このIDispatchポインタを使ってもホスト提供のオブジェクトは呼び出すことはできません。まあホスト提供のオブジェクトをわざわざ別のポインタを取得してホストが呼び出す意味は余り無いので、その事は構わないですが、このポインタはいったい何に使えるのでしょうか?

234 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 08:49:36 ]
pc8.2ch.net/test/read.cgi/win/1126543183/
pc8.2ch.net/test/read.cgi/tech/1055075469/


235 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 12:34:45 ]
>>229-231
なかなか、短くて美しいですね




236 名前:デフォルトの名無しさん [2006/05/20(土) 14:06:10 ]
>>232
再帰下降=LLだと思ってたんだけど違うの?

237 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 14:12:22 ]
再帰しない構文解析アルゴリズムもあるよ。自分でスタック管理するだけだけど。
龍書IのP.223参考


238 名前:デフォルトの名無しさん mailto:sage [2006/05/20(土) 19:16:56 ]
>>235
ありがと
式の正当性のチェックだけならもっときれいになるかなあ・・・やってみた

#include <ctype.h>
#include <stdio.h>
bool expression();
char buf[1000], *pc;
bool get(char& c) { while (c = *pc++) if (!isspace(c)) return true; --pc; return false; }
bool get_digit(char& c) { return get(c) && (isdigit(c) || --pc && false); }
bool is(char c) { char d; return get(d) && (d == c || --pc && false); }
bool number() { char c; if (!get_digit(c)) return false; while (get_digit(c)); return true; }
bool factor() { return number() || is('(') && expression() && is(')'); }
bool term() { return is('-') || is('+'), factor() && (!is('*') && !is('/') || term()); }
bool expression() { return term() && (!is('+') && !is('-') || expression()); }
int main() { while (fgets(pc = buf, sizeof buf, stdin) && expression() && !*pc) printf("OK\n"); }

239 名前:デフォルトの名無しさん [2006/05/21(日) 19:49:25 ]
何言語? bool とかつかってるけど、

240 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 19:57:21 ]
C++?

241 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 20:23:24 ]
C++も知らんのか

242 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 21:56:58 ]
どう見てもCです

243 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 22:21:37 ]
どう見てもC++です

244 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 23:01:48 ]
どう見ても>>229,230 はC++ >>238 はCです。本当に有難うございました。

245 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 23:09:13 ]
boolとtrueとfalseがあるからC++



246 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 23:13:59 ]
釣れますか?

247 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 23:25:25 ]
俺のVC++6.0がC99?なにそれ?とおっしゃっているのでC++ですよ

248 名前:デフォルトの名無しさん mailto:sage [2006/05/21(日) 23:26:47 ]
入れ食いですな

249 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 08:22:58 ]
C99を考慮しても使ってるのはC++
Cと言ってるのはキチガイ

250 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 11:01:30 ]
また釣れた

251 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 13:37:56 ]
どう見てもC++だろが。アホか。
じゃあCと言うことを証明して見ろ。

252 名前:デフォルトの名無しさん [2006/05/22(月) 13:40:51 ]
晒しageとこう

253 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 19:29:49 ]
何でこんなに、釣れるんだ
書いた本人はC99知らんのでC++ですわw
C99って参照あるの?

254 名前:デフォルトの名無しさん [2006/05/22(月) 22:34:27 ]
アフォかお前ら?
Cにboolなんかあるか!ボケw

255 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 22:39:48 ]
そうだね。ついでにCにはsize_tもあるわけないよ。



256 名前:デフォルトの名無しさん [2006/05/22(月) 22:42:40 ]
また釣れましたよ。

257 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 23:09:18 ]
つか、本気でわかっていないんだけど、なんでboolがCで使えるの?
釣れたつれてないとかではなく、誰かC++だといっている人がなぜ間違っているのか教えて。

258 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 23:10:28 ]
>>257
どうでもいいから。

259 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 00:23:23 ]
>つか、本気でわかっていないんだけど、なんでboolがCで使えるの? 
C99ではstdbool.hをincludeすればbool型が使える。

>釣れたつれてないとかではなく、誰かC++だといっている人がなぜ間違っているのか教えて。 
例えば
 bool get(char& c) { while (c = *pc++) if (!isspace(c)) return true; --pc; return false; } 
で関数の引数にCには無い参照(&)を使ってる。

260 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 00:30:19 ]
もしboolがないなら自分で定義すりゃいいじゃん。
どちらにしてもboolはプリミティブじゃないんだからさ。

261 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 00:31:04 ]
標準ライブラリとかそういうのってCの機能じゃねーだろ。死ねよ。

262 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 01:21:02 ]
しかしCの仕様書には標準ライブラリも含まれている罠

263 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 10:51:55 ]
>>262
俺に見られるようなソース出せ

264 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 10:58:16 ]
言語としての仕様かどうかと言われたら、所詮は「ライブラリ」なわけで・・

265 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 12:20:47 ]
>>263
図書館行くか通販でJISの規格書読め。



266 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 18:03:50 ]
WEBで読めるやん

267 名前:デフォルトの名無しさん [2006/05/23(火) 18:53:22 ]
そろそろエサが古くなってきたか・・・






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

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

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