トップページ > プログラム > 2014年06月06日 > y0bQ4ynG

書き込み順位&時間帯一覧

1 位/220 ID中時間01234567891011121314151617181920212223Total
書き込み数00000000013861000000000019



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
C++相談室 part112
「コンパイラ・スクリプトエンジン」相談室15

書き込みレス一覧

C++相談室 part112
919 :デフォルトの名無しさん[sage]:2014/06/06(金) 09:47:30.90 ID:y0bQ4ynG
C++のIteratorはhasNext()メソッドが無いじゃないっすか。
==演算子で何かと比べてhasNext()の代わりをいたすんですが、
比べるものが無いときはダミーの終端記号を用意するのですか?
その時はクラス変数で用意するのかend()メソッドで用意するのかどちらですか?
C++相談室 part112
922 :デフォルトの名無しさん[sage]:2014/06/06(金) 10:45:30.82 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを持つとき内部でnという情報を持つときに出力を終了する。
C++相談室 part112
924 :デフォルトの名無しさん[sage]:2014/06/06(金) 10:56:56.76 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
calss it{
int a
int b
...
operator*(){
if(a==b)

b=a
return ++a;

};
C++相談室 part112
925 :デフォルトの名無しさん[sage]:2014/06/06(金) 10:58:35.60 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
calss it{
int a
int b
...
operator*(){
if(a==b)return a;
if(条件)
b=a;
else
b=a+1;
return ++a;

};
C++相談室 part112
928 :デフォルトの名無しさん[sage]:2014/06/06(金) 11:02:23.73 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
calss it{
int a
int b
...
int operator*(){
if(a==b)
  return エラー;//これが実行されたら駄目
if(ある条件)
 b=a;
else
 b=a+1;
return ++a;

};
C++相談室 part112
929 :デフォルトの名無しさん[sage]:2014/06/06(金) 11:06:46.34 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
calss it{
int a
int b
...
int operator*(){
if(a==b)
  return エラー;//これが実行されたら駄目
if(ある条件)
 b=a;
else
 b=a+1;
return a;

operator ++(略){++a;}
};
「コンパイラ・スクリプトエンジン」相談室15
946 :デフォルトの名無しさん[sage]:2014/06/06(金) 11:15:49.36 ID:y0bQ4ynG
なるほど。
C++相談室 part112
931 :デフォルトの名無しさん[sage]:2014/06/06(金) 11:25:15.82 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
calss it{
int a;
int b;
public:
it():a(1),b(2){}
bool hasNext(){if(a==b)return false;else return true;}//実装しない
int operator*(){
if(a==b)
  return エラー;//これが実行されたら駄目
if(ある条件)
 b=a;
else
 b=a+1;
return a;

void operator++(){++a;}
};
C++相談室 part112
932 :デフォルトの名無しさん[sage]:2014/06/06(金) 11:37:55.25 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
calss it{
int a;
int b;
public:
it():a(1),b(2){}
bool hasNext(){if(a==b)return false;else return true;}//実装しない
bool operator==(it& i){if(a==b)return false;else return true;}//実装するがiに入れるのが無駄
int operator*(){
if(a==b)
  return エラー;//これが実行されたら駄目
if(ある条件)
 b=a;
else
 b=a+1;
return a;

void operator++(){++a;}
};
C++相談室 part112
933 :デフォルトの名無しさん[sage]:2014/06/06(金) 11:43:38.96 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
calss it{
int a;
int b;
public:
it():a(1),b(2){}
bool hasNext(){if(a==b)return false;else return true;}//実装しない
bool operator==(it& i){if(a==b)return false;else return true;}//実装するがiに入れるのが無駄
int operator*(){
if(a==b)
  return エラー;//これが実行されたら駄目
if(ある条件)
 b+=a;
else
 b=a+2;
return a;

void operator++(){++a;}
};
C++相談室 part112
934 :デフォルトの名無しさん[sage]:2014/06/06(金) 11:45:54.76 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
calss it{
int a;
int b;
public:
it():a(1),b(2){}
bool hasNext(){if(a==b)return false;else return true;}//実装しない
bool operator==(it& i){if(a==b)return false;else return true;}//実装するがiに入れるのが無駄
int operator*(){
if(a==b)
  return エラー;//これが実行されたら駄目
return a;

void operator++(){ある条件?++b:b;++a;}
};
C++相談室 part112
935 :デフォルトの名無しさん[sage]:2014/06/06(金) 11:57:00.71 ID:y0bQ4ynG
iteratorが1 2 3 4 5 6 と順番に数字をある番号まで出す。
この時iteratorが1を出すときはiterator内部で2という情報を持ちnを出すときはn+1を持つ
そしてiteratorはnを出すとき内部でnという情報を持つときに出力を終了する。
#include<cstdlib>
calss it{
int a;
int b;
public:
it():a(1),b(2){}
bool hasNext(){if(a==b)return false;else return true;}//実装しない
bool operator==(it& i){if(a==b)return false;else return true;}//実装するがiに入れるのが無駄
int operator*(){
if(a==b)
  return エラー;//これが実行されたら駄目
return a;

void operator++(){!(std::rand()%10)?++b:b;++a;}
};
C++相談室 part112
937 :デフォルトの名無しさん[sage]:2014/06/06(金) 12:15:22.39 ID:y0bQ4ynG
>>935が>>921への質問の答えです。
答えたので>>919への回答お願いします。
C++相談室 part112
939 :デフォルトの名無しさん[sage]:2014/06/06(金) 12:38:45.55 ID:y0bQ4ynG
使い方:
main(){
X x;
for(it =x.begin();it==it;++it)
//ここで*を使う
}
おかしくないですか==をhasNext()の代わりに使うとするとこうなるんですよ。
しかも右辺のitは何の意味もないんです。
C++相談室 part112
940 :デフォルトの名無しさん[sage]:2014/06/06(金) 12:39:28.77 ID:y0bQ4ynG
使い方:
main(){
X x;
for(it i=x.begin();i==i;++it\)
//ここで*を使う
}
おかしくないですか==をhasNext()の代わりに使うとするとこうなるんですよ。
しかも右辺のiは何の意味もないんです。
C++相談室 part112
941 :デフォルトの名無しさん[sage]:2014/06/06(金) 12:39:54.05 ID:y0bQ4ynG
使い方:
main(){
X x;
for(it i=x.begin();i==i;++i)
//ここで*を使う
}
おかしくないですか==をhasNext()の代わりに使うとするとこうなるんですよ。
しかも右辺のiは何の意味もないんです。
C++相談室 part112
943 :デフォルトの名無しさん[sage]:2014/06/06(金) 12:45:25.46 ID:y0bQ4ynG
使い方:
main(){
X x;
for(it i=x.begin();!(i==i);++i)
//ここで*を使う
}
おかしくないですか==をhasNext()の代わりに使うとするとこうなるんですよ。
しかも右辺のiは何の意味もないんです。
C++相談室 part112
944 :デフォルトの名無しさん[sage]:2014/06/06(金) 12:51:46.51 ID:y0bQ4ynG
end()でダミーのiteratorを返せと?
・・・・・・・・・・・・
ファイナルアンサー?
C++相談室 part112
947 :デフォルトの名無しさん[sage]:2014/06/06(金) 13:13:55.90 ID:y0bQ4ynG
hasNext持たせます。
algorithmで使うことも将来なさそうなので。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。