【C++】STL(Standard Template Library)相談室
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG【C++】template 統合スレ -- Part5
http://pc5.2ch.net/test/read.cgi/tech/1091522597/l50
---- 糸冬了 ----
0008デフォルトの名無しさん
NGNGでないとBoostまで一体化になってしまう。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGそんなものがtemplateスレを埋めたら
PerlスレをCGIの話で埋めるようなもの。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNGそれは本質じゃねー
0015デフォルトの名無しさん
NGNG気軽に使えるツールセットであるから便利なんだ。
0016デフォルトの名無しさん
NGNG標準かどうか気にしなければいい
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNGStandard Container Libraryとかに名前変えたらどうよ?
0019デフォルトの名無しさん
NGNG個人で使うだけなら標準かどうかなんて気にしなくていいけどな
0020デフォルトの名無しさん
NGNGSTLを1文字書き換えたOTLは形になるけどSCL→OCLは形になっていないので却下。
0021デフォルトの名無しさん
NGNGSTLに含まれるのはコンテナだけじゃないから却下
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGまだ始めたばかりで、便利さがよくわからないのですが
0024デフォルトの名無しさん
NGNGバイナリのサイズを増やしたいときとか、すごく便利。
ほかのライブラリじゃ絶対無理。
0025デフォルトの名無しさん
NGNG0026デフォルトの名無しさん
NGNGなんせサイズが10倍になるからな。
界王拳みたいなもんだ。
0027デフォルトの名無しさん
NGNG環境によるだろ。
俺はBorland-C++5.6.2に -D_RTLDLL オプションを指定して、極力
ランタイムを使用するようにして使っているが、例えばstd::vectorを
使っても使わない時と比べ10Kほどしか増えない。
0028デフォルトの名無しさん
NGNGエレガント(いかにもC++っって感じのやつ)な方法ありませんか?
0029デフォルトの名無しさん
NGNGstring word = "電話コード 0120-123-[123]"
string::size_type pos = word.find("[");
とした場合、電話コードの"ー"の位置が返却されるようなのですが、
"["を正確に検索するにはどうすればよいのでしょうか?
0030デフォルトの名無しさん
NGNGプログラム界の長有名人のエビステーメーさんの書籍によると、
STLを使うことで、プログラムコードが100分の1になるそうです。
0031デフォルトの名無しさん
NGNGwstring word = L"電話コード 0120-123-[123]";
wstring::size_type pos = word.find("[");
0032>>29
NGNG神さま!レスありがとうございます。
ダブルコーテーションの前にLを付けると、どのような意味になるのでしょうか?
何度もすいません・・・
0033デフォルトの名無しさん
NGNGワイド文字列(多くの場合UTF16)として扱われる。
ShitJISは2バイト文字の2バイト目に1バイト文字と重なること(「ー」の2バイト目が[と同じだったり)がたびたびあるが、
ワイド文字は全ての文字が同一サイズ(UTF16なら2バイト)に固定されているのでそのようなことは起きない。
>>28
#include <sstream>
#include <string>
long l;
std::ostringstream oss;
oss << l;
後はoss.str();でstd::string型を返すから、std::stringの変数に代入するなり、関数の引数にoss.str().c_str()を書いたりご自由に。
0034デフォルトの名無しさん
NGNGstd::string str;
long n = reinterpret_cast<long>(str.c_str());
0035デフォルトの名無しさん
NGNGlong l (100);
string s (boost::lexical_cast <string> (l));
0037デフォルトの名無しさん
NGNG{
wstring ss2 = L"顧客コード";
cout << ss2.c_str() << endl;
getch();
return 0;
}
というプログラムコードを実行すると、
コンソールに次の表示されます。なぜ顧客コードと表示されないのでしょうか?
<コンソールの表示内容>
004800B2
0038デフォルトの名無しさん
NGNG0039デフォルトの名無しさん
NGNG0041デフォルトの名無しさん
NGNGそれよりも wstring に注目しろ
0042デフォルトの名無しさん
NGNGSTLを使うと、コードが100分の1になるって本当なんですかね?
職業プログラマの告白きぼんぬ!
0043デフォルトの名無しさん
NGNGこの差はいったい何なんだ・・・・
0044デフォルトの名無しさん
NGNG0045デフォルトの名無しさん
NGNG「この差」って何?C++にいろいろ機能が加わった事か?標準規格が固まってから
もう6年も立ってるぞ。そろそろ覚えろや。
0046デフォルトの名無しさん
NGNGSTL使わないコードがSTL使うようになると100分の1に減るのは
元のコードの99%がSTLと同等の内容で、残り1%がアプリケーションの場合。
STLの規模は全部合わせても1メガバイト程度だから、
アプリケーションのためのコードは最大で10キロバイト程度ということになる。
その程度の小規模プログラムなら増えた減ったは誤差の範囲になる。
STLのコンテナ系は数日で書ける規模だから
通常のプログラムでコードが100分の1になるのはありえない。
元のコードが冗長なゴミで埋め尽くされてるなら
STLによって100分の1に減らすこともできるかもしれないが、
それはあまりに異常な設計だから
STLを使えばコードが100分の1になるという一般論を導くことにはならない。
0047デフォルトの名無しさん
NGNG信じられん。
プロってすごいんだな。煽りじゃなく。
STLのアルゴリズム系についてはどうなの?
0048デフォルトの名無しさん
NGNGアルゴリズムも恐らく数日で書き切れると思います.
個人的な感覚ではコンテナに比べてアルゴリズムの方がだいぶ楽だと思います.
0049デフォルトの名無しさん
NGNG0050デフォルトの名無しさん
NGNGだから
STLはバッドノウハウも塊
0051デフォルトの名無しさん
NGNG例えば?
0052デフォルトの名無しさん
NGNG具体的な方法を、プログラムコードで教えてもらえたいのでっすが・・・
0053デフォルトの名無しさん
NGNGなわけないだろ。
0054デフォルトの名無しさん
NGNGもちろん>>48はネタに決まってる。言うだけタダだもんねえ。
0055デフォルトの名無しさん
NGNGiteratorで触れるタイプは一日くらいだろう。
一日半もあれば確実。iteratorでさらに一日。
コンテナ全部を数日でできない人は何に時間をかけてるんだ?
0056デフォルトの名無しさん
NGNG嘘もここまで来ると立派なもんだ。
0057デフォルトの名無しさん
NGNGvectorあたりは半日で書けるだろ。
0058デフォルトの名無しさん
NGNGテスト
0059デフォルトの名無しさん
NGNGいっそ辞職なさい
あれは普段普通に書くtemplate classの最低限の規模です
0060デフォルトの名無しさん
NGNG0061デフォルトの名無しさん
NGNGmaxに一日
medianに三日かかる人だって立派に生きてます
0062デフォルトの名無しさん
NGNGもちろんパフォーマンス的なチューニングは完全なんだろうな。
ただ書くってだけなら俺にもできるが、遅かったら作る事自体が意味がない。
0063デフォルトの名無しさん
NGNG詭弁でたー
0064デフォルトの名無しさん
NGNGSTLのdequeはパフォーマンス的によほど優れてるということですか。
で、それはなぜ?
0065デフォルトの名無しさん
NGNGもちろんSTL dequeのパフォーマンス的なチューニングは完全なんだろうな?
0066デフォルトの名無しさん
NGNGvector,list,deque,map,set,multimap,multiset (queue,stack
これらを数日でねぇ。
テスト等の手間も考えての発言とは思えないな。
ま、口だけならなんとでもいえるからなw
2ch上では優越感に浸らしてあげようじゃないのw
すごいでちゅねーw
0067デフォルトの名無しさん
NGNGおまえならそれぞれ何日かけて作る?
0068デフォルトの名無しさん
NGNG0069デフォルトの名無しさん
NGNG20年ほど前のCでどろどろ書いてた時代じゃ
STLで書かれてたような基本アルゴリズムは
毎日大量に書かれてたし、
それから20年間の経験によってまとめられた設計案を
いざSTLのような汎用ライブラリーとして書いてみろと言われたら
それこそ数日もかからない。
テスト?何十年も親しんできた類似コードを
また同じように書き直しただけだ。
テストするのに時間かかるわけがない。
hello worldのテストに1ヶ月かけたい人から見れば不安だろうけどな。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNG>STLで書かれてたような基本アルゴリズムは
>毎日大量に書かれてたし、
そんなに大量にかかれていたんなら、100分の1になりそうだな
0072デフォルトの名無しさん
NGNGできる奴は、できてあたりまえ、できないはずがない、と思い込んでるし。
できない奴は、できなくてあたりまえ、できるはずがない、と思い込んでるし。
レベルが1つずれるだけでこういう認識の違いが生まれるのに、
一番上と一番下の距離は更に遠い。
そいつらの間で起きるできるできない論争は見てて笑える。
0073デフォルトの名無しさん
NGNG自然言語はほとんど使わない生活を十年以上続けてる特殊な人達は
ネイティブスピーカーになってるので、
その人達の数日と一般プログラマの数日を一緒にしてはいけない。
0074デフォルトの名無しさん
NGNGできる発言ほど当てにはならないってことだ。
見ててマジわらえるw
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNGだったら1/100どころの話じゃないね
0077デフォルトの名無しさん
NGNGテストもなしで誰も使わないだろうけど
dequeue半日でできるとか言ってるスーパープログラマーは
boostに参加して腕を奮ってくださいな
0078デフォルトの名無しさん
NGNG作ってどこかで晒してみろよ。
それもしないで信じろという方が無理だ。
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG小さい頃に教えられなかった?「嘘つきは泥棒の始まり」って。( ´,_ゝ`)プッ
0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGどうせ同じ物を作れると言っても見本を見ながらしか書けない
0084デフォルトの名無しさん
NGNGお前以外に誰が低レベルと言ってたっけ?
0085デフォルトの名無しさん
NGNGこのサイズだと速い奴なら1時間から数時間、
遅い奴なら数日から数カ月か
0086デフォルトの名無しさん
NGNG徹底的に無駄を除去して1バイト単位で削ればどこまで
小さくできるか。
0087デフォルトの名無しさん
NGNGやっぱりメンバ関数とかコンストラクタはstd::dequeに完全準拠が条件?
0088デフォルトの名無しさん
NGNGstlportでも古いRWでも1500行はあるように見えるが
deque
(どっちもalgorithmとかiterator多用で1lineが長い)
0089デフォルトの名無しさん
NGNGそれだとただのコピペ書き換え合戦なので、
多少の独自性はいいんじゃないかな。
ただしiteratorは使えないと意味が無いので必須条件。
0090デフォルトの名無しさん
NGNGインターフェースは同じじゃなきゃ意味無いだろ。
内部実装はどうでもいいけど。
0091デフォルトの名無しさん
NGNG日本語でお願い
0092デフォルトの名無しさん
NGNG倒置法はならったかな?
0093デフォルトの名無しさん
NGNG文において、普通の語順と逆にして語句を配置し修辞上の効果をあげる表現方法。「出た、出た、月が」「進もう、未来へ」の類。
0094デフォルトの名無しさん
NGNG0095デフォルトの名無しさん
NGNG体言止めと倒置法の併用だな。小学生高学年くらいで習ったっけか?
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNGの末尾「である」を省略したのなら体言止め
0098デフォルトの名無しさん
NGNG"デック"だよ…頼むよ…
> コンテナ要件を厳密に満たす必要ない
それはゴミだ。
0099デフォルトの名無しさん
NGNGデキューでもいいじゃん
0100デフォルトの名無しさん
NGNGしか書けなさそう。
0101デフォルトの名無しさん
NGNGこれをチャーと呼んでもキャラと呼んでもいいのと一緒でしょ。
■ このスレッドは過去ログ倉庫に格納されています