C++相談室 part38
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGただし質問の前にはFAQに一通り目を通してください。
テンプレートライブラリ(STL含む)に関する質問は
専用の別スレにお願いッス。
前スレ part37
http://pc5.2ch.net/test/read.cgi/tech/1098543578/
過去スレ、関連スレ、関連リンクなどは >>2-20 あたり
0153デフォルトの名無しさん
NGNG俺は 151 だが 146 ではない。
いいもへったくれもない。
単に C++ の話であり、他のどの言語の話でもない。
0154デフォルトの名無しさん
NGNG単なるchar型へのポインタの話でさえCとC++は全く違っていて、互換性の
ある説明は出来ないと思いこんでいるバカ。
0155デフォルトの名無しさん
NGNGC++ のポインタについて聞いている人に C のポインタの答えをするトンマが泣いてるよ
0156デフォルトの名無しさん
NGNG正しいC++の質問をわざわざ誘導するのはどうかと思うぞ。
0157デフォルトの名無しさん
NGNGもういいよ。アホの相手をするのは疲れた。
0158デフォルトの名無しさん
NGNGそしたらCの質問をあたかもC++の質問のようにする厨が多量に流入しても
お前は答えてやるつもりなんだな!?そしたらもうC専用スレの存在意義が
(100%ではないが95%ほどは)なくなるね。
0159デフォルトの名無しさん
NGNGいちいちageんなウゼえ
0161デフォルトの名無しさん
NGNG釣りなら海に行ってしてくれ。今日は天気が悪いから釣れないだろうがな
0162デフォルトの名無しさん
NGNG最初にそう断ってからから誘導すれば、荒れずにすんだと思われることが多々ある。
0163デフォルトの名無しさん
NGNG>そしたらCの質問をあたかもC++の質問のようにする厨が多量に流入しても
>お前は答えてやるつもりなんだな!?
Cの質問かC++の質問か区別できない場合には、そうする。
>そしたらもうC専用スレの存在意義が
>(100%ではないが95%ほどは)なくなるね。
そうか?いずれC++を学ぶにしてもCから始める
学習者は多いと思うが。
本人がC++を学んでいるつもりであれば、C++スレに質問するだろう。
そういう場合に、内容がCと重複しているからといって、Cスレに誘導するのは、
独立した言語のスレとしてどうなんだろう、といいたい。
0164デフォルトの名無しさん
NGNG>そうか?いずれC++を学ぶにしてもCから始める
>学習者は多いと思うが。
だったらなおさらの事、CとC++で重複している質問はCスレへ誘導してやれよ。
このスレの過密化を防ぐためにわざわざ独立スレとして立ててるんだろ。
0165デフォルトの名無しさん
NGNGそれぐらいは空気読んでわからんか?頭が悪いね。
0166デフォルトの名無しさん
NGNG当分の間はこれと同じことをしていると思えばいい。
void myStrcpy(char* a, char* b) {
while (1) {
*a = *b;
if (*a == '\0')
return;
a++;
b++;
}
}
0167デフォルトの名無しさん
NGNGvoid myStrcpy( char* a, char* b){ while (*a++ = *b++) ; }
↓
void myStrcpy( char* a, char* b){ do { *a = *b; a++; b++; } while (*a) ; }
このスレは池沼の住処だから、これ以上のことはCスレで訊きんしゃい。
ちなみにこのコードは空文字が与えられた時の挙動がダメダメってことと
>>144 もすぐに挙動が分からなかったように可読性も悪いコードとして
有名だから真似はせんようにね。
0168デフォルトの名無しさん
NGNG>このコードは空文字が与えられた時の挙動がダメダメ
下のほうのことだよね?
0169デフォルトの名無しさん
NGNGつまり、Bodyにカウントをつけたとしたら、
最初与えられたアドレスから連続していくつ、そのメモリが使われてるか分かるってこと?
0170デフォルトの名無しさん
NGNGCスレ逝け池沼
0171デフォルトの名無しさん
NGNGアホでたー
0172デフォルトの名無しさん
NGNGそうじゃなくて*a = *b;を行っているから文字列のコピーだよ。関数名見ろ。
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNGめっちゃ恥ずかしいなお前。人の事を池沼呼ばわりしておいて、
自分が池沼と言われても仕方ないようなレス書いて。
0176デフォルトの名無しさん
NGNG>めっちゃ恥ずかしいなお前。人の事を池沼呼ばわりしておいて、
>自分が池沼と言われても仕方ないようなレス書いて。
池沼の住処とは自分の事を指していたのでは?
0177デフォルトの名無しさん
NGNG0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNGこれは初耳
0180デフォルトの名無しさん
NGNG当分の間はこれと同じことをしていると思えばいい。
void myStrcpy(char* a, char* b) {
while (1) {
*a = *b;
if (*a == '\0')
return;
a++;
b++;
}
}
if (*a == '\0')って、if (*a == '\0'||*b == '\0')じゃなくて?
0181デフォルトの名無しさん
NGNG低脳なの、承知です。
プログラム初めてなもので・・・。
すいません。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG*a に *b を代入しているので、片方を0と比較すればもう片方はその必要がない。
0184デフォルトの名無しさん
NGNGarrayに入ってる中身の順序を逆さに並び替えたいんだけど、
追加のstrageなしでってことで、XORを使おうとしてるんだけど、
XORがいまいち、よく分からないのです。
reverseOrder(array[]);の定義なのですが・・・。
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG#include <algorithm>
const int N = 10;
int array[N];
std::reverse(&array[0],&array[N]);
0188デフォルトの名無しさん
NGNG0189デフォルトの名無しさん
NGNG宿題スレで聞いたほうがいいと思う。
なぜなら質問点を明確にできていないから。
(xor について独り言)
神話に出てくる大先生の本にさえ「驚くべき」とか書いてあることを
ノーヒントで放り出す教授の意図はいったい・・・
大学の存在意義がここにあるわけだが
0190デフォルトの名無しさん
NGNGもったいつけずに言いたいことを言ってくれ。
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG宿題スレか初心者スレに逝けってことだ
ぼるじょあがC/C++の宿題を片付けますYO! 35代目
http://pc5.2ch.net/test/read.cgi/tech/1101568895/l50
【初心者歓迎】C/C++室 Ver.12【環境依存OK】
http://pc5.2ch.net/test/read.cgi/tech/1101100031/l50
>>144だの>>184だのこのスレで扱う話題じゃない。
0193伊能四郎
NGNG0194デフォルトの名無しさん
NGNG0195デフォルトの名無しさん
NGNG2 "hige hige" 456 //int 文字列 int
3 "hegehege" "hage" 789 //int 文字列 文字列 int
こういう既存のtxtファイルがあるのですが、1や3の様にhageてる場合と
2の様にhageが無い場合があるんです。
STLでこれを、区別して読むにはどうすれば良いのでしょうか。
またhige higeの様に間にスペースが入ってしまう時にも
""内を一息に読み込む方法はあるのでしょうか。
いまは終端の"が無ければ一回読み込み、結局strcatで連結しています。
0196195
NGNGhageは例でして、必ずhageという文字列とは限らないんです
0197デフォルトの名無しさん
NGNGそれはSTLの問題ではないだろ。
読み込みパーザを書きなさい。
0198デフォルトの名無しさん
NGNGSTL?std::ostream_iteratorでも使うって意味か?
std::ifstreamの間違いじゃないの?
0199195
NGNGあるいは読み込み区切り文字を変えたりして
簡単に出来ないかなと思ったのですが、やはりこの辺は細かくやらなきゃなんですか。
となるとあまり恩恵も感じられないし、、
fgetsに戻りたくなりますねぇ。レスサンクスでした。
0200デフォルトの名無しさん
NGNGぶち込んで、1や3を前提として読んで、エラーが起きればclear()して
seekg()で先頭に戻し、2を前提で読み込む。
0202デフォルトの名無しさん
NGNGescaped_list_separator<char> sep(''\\,' ');
tokenizer<escaped_list_separator<char> > tok(line,sep);
tokenizer<escaped_list_separator<char> >::iterator it = tok.begin();
・・・
}
0203デフォルトの名無しさん
NGNG0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG0206デフォルトの名無しさん
NGNGこれって std::complex 等標準クラスも含まれるんですか?
それとも int, char long 等だけですか?
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
と配列が渡されたとき、「75」を挿入すると
┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃75┃ ┃
┗━┻━┻━┻━┻━┻━┛
となるので正しいですか??
また、
┏━┳━┳━┳━┳━┳━┓
┃10┃53┃24┃35┃ ┃ ┃
┗━┻━┻━┻━┻━┻━┛
から53を削除した場合、リストはどの様に並びますか?
よろしくおねがいしますm(_ _"m)
0209デフォルトの名無しさん
NGNGunsorted listでは何を指すかわからない。もっと具体的に書こう。
もし、std::listならば、>>208で正しい。
単に削除と書かず、具体的に実行した関数(erase()など)を添えよう。
0210デフォルトの名無しさん
NGNGマルチうざい。
0211デフォルトの名無しさん
NGNGstd::complex<>は標準ライブラリによって定義されているので
組み込み型とは言わない。
組み込み型とは、言語によって定義されている、bool, int, char,...の事。
>>207
PODはまた別の概念。たとえば
struct point{int x,y;};
はPODだが組み込み型ではない。
0212デフォルトの名無しさん
NGNGいや意味は分かるんだけど、英単語がどれか迷う
ネタフリじゃないよ
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGおおサンクス!胸のつかえが取れたよ
よもやネタ無しでレス頂けるとは
0215デフォルトの名無しさん
NGNG本当に押されなかった様な哀愁を感じる
0216デフォルトの名無しさん
NGNG0217デフォルトの名無しさん
NGNG定義をソースファイルからヘッダに移したのですが、
その関数の中で使われているクラスが"認識できない型"と言われ
コンパイルできなくなってしまいました。
明示的インライン化を行うときは何か特別な手続きが必要なのでしょうか?
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNGinclude してる?
0220デフォルトの名無しさん
NGNGはい、さすがにincludeはしてます
0221デフォルトの名無しさん
NGNGあやしい…
ソースファイルでincludeしたもの全部インクルードしてもそうなる?
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG(改行が多いといわれたのでメンバ変数を省略しました)
GetEdgeToのなかでEdgeクラスが見つからないと言われてしまいます
#include "CommonInclude.h"
#include <list>
#include "boost/numeric/ublas/vector.hpp"
#include "Edge.h"
using namespace std;
class Edge;
class Vertex
{
public:
Edge *GetEdgeTo(Vertex *vertex);
protected:
void SetPoint(vector<precision> *point) {this->point = point;}
void SetEdgeList(list<Edge> *edgeList) {this->edgeList = edgeList;}
private:
list<Edge> *edgeList;
};
inline
Edge *Vertex::GetEdgeTo(Vertex *vertex)
{
for (list<Edge>::iterator itr = edgeList->begin(); itr != edgeList->end(); itr++) {
Vertex *head = (*itr).GetHead();
if (head == vertex)
return &*itr;
}
return NULL;
}
0224デフォルトの名無しさん
NGNGEdge.hの中でEdgeクラスが定義されてるなら
class Edge; ←これを消してみれば
0225デフォルトの名無しさん
NGNG分かったんだけど、doubleとか char の場合ってどうするか分かりますか?
0227デフォルトの名無しさん
NGNGならinlineは無理
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG// a.h
#ifndef A_H
#define A_H
class B;
class A {B *mv; void mf();};
#include "B.h"
inline void A::mf() {B b;}
#endif
//b.h
#ifndef B_H
#define B_H
class A;
class B {A *mv; void mf();};
#include "A.h"
inline void B::mf() {A a;}
#endif
0231デフォルトの名無しさん
NGNG>Edge.hの中でVertexクラスを使っているので
どういうコード書こうとしているのかによりますけれど,普通edgeにはvertexを
指す機能だけを持たせればよいのですから,Edgeが必要とするのは
Vertex *(またはそれと同等なもの)だけで,その場合Edgeから見えるべきなのは
Vertexの前方宣言だけで良いと思うのですが.
あと根本的な話として,Boostを使っているならBoost.Graphを見てみてはどうですか?
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNGC++なんて問題外^^;;;
0234デフォルトの名無しさん
NGNGありがとうございました。
0235デフォルトの名無しさん
NGNGソフトウェアの規模によって違うよ。 Ruby > Perl > awk かな??
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNGそのことを皆が分かるまで続けます。
0239デフォルトの名無しさん
NGNG0240デフォルトの名無しさん
NGNGどれもスクリプティング言語だから、それぞれの特徴にあった使い分けをする必要がある。
もし、それをしなかったら世の中に一つの言語しかなくなるよ。
そして、>>235は各言語に向いている開発規模を比較したものであり、言語の優劣を
比較したものではない。
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNG自己記述可能な処理系になってから言って下さい
0243デフォルトの名無しさん
NGNG既にRubyに完全に取って代わられました。
0244デフォルトの名無しさん
NGNGそれが全てを物語っています。
自分もPerlは削除しました。
0245デフォルトの名無しさん
NGNGなに大きな顔してム板にいるのやら。
CGIと混同されるぐらいしか脳のないセンス0の糞言語が。
0246デフォルトの名無しさん
NGNGRuby作者のmatz氏のお言葉をよく聞け。
http://web.archive.org/web/20000302001334/http://www.ruby-lang.org/ja/compar.html
C++
いろいろと有名なオブジェクト指向言語であるC++とRubyを比較すると:
C++なぞ問題外.^^;;;
http://web.archive.org/web/20000302001334/http://www.ruby-lang.org/en/compar.html
C++
C++ is famous OOPL in many places. Now, let's compare C++ with Ruby:
Ruby is too good to compare ;-)
0247デフォルトの名無しさん
NGNG0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGRubyはPerlより先に生まれ、独自に発展した言語。
Perlを参考にしたこともなければその格からして違う。
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNGRubyはPerlと全く関係がない。作者自身がそれを明言している。
0252デフォルトの名無しさん
NGNG■ このスレッドは過去ログ倉庫に格納されています