掲示板利用宣言

 次のフォームをすべてチェックしてからご利用ください。

 私は

 題名と投稿者名は具体的に書きます。
 課題の丸投げはしません。
 ソースの添付は「HTML変換ツール」で字下げします。
 返信の引用は最小限にします。
 環境(OSとコンパイラ)や症状は具体的に詳しく書きます。
 返信の付いた投稿は削除しません。
 マルチポスト(多重投稿)はしません。

掲示板2

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.29363

2つの文字列の比較
投稿者---こぎつね(2007/01/08 01:20:12)


文字列 s1,s2 の二つを比較するプログラムでmain部分は出来たのですがクラスがわかりませんどなたか教えてください。
class Cmp : public std::binary_function<std::string,std::string,bool> {
public:
bool operator()(const std::string& s1, const std::string& s2){
ここまで出来ました。
int main(void){
std::string teststr[]={"i","c0","c1","int",""};
Cmp c;
for(int i=0; teststr[i]!=""; ++i){
for(int j=0; teststr[j]!=""; ++j){
std::cout << teststr[i] << " "
<< teststr[j] << ": "
<< c(teststr[i],teststr[j]) << std::endl;
}
}
return 0;
}

OS XP
コンパイラ ming-jp


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:2つの文字列の比較 29364 επιστημη 2007/01/08 11:38:37


No.29364

Re:2つの文字列の比較
投稿者---επιστημη(2007/01/08 11:38:37)
http://blogs.wankuma.com/episteme/


#include <iostream>
#include <string>
#include <functional>

typedef std::equal_to<std::string> Cmp;

int main(void){
  std::string teststr[] = { "i", "c0", "c1", "int", "" };
  Cmp c;
  for ( int i = 0; teststr[i] != ""; ++i ) {
    for ( int j = 0; teststr[j] != ""; ++j ) {
      std::cout << teststr[i] << " "
                << teststr[j] << ": "
                << c(teststr[i],teststr[j]) << std::endl;
    }
  }
  return 0;
}




この投稿にコメントする

削除パスワード

No.29365

Re:2つの文字列の比較
投稿者---こぎつね(2007/01/08 12:03:52)


返事ありがとうございます


この投稿にコメントする

削除パスワード

No.29368

Re:2つの文字列の比較
投稿者---επιστημη(2007/01/08 13:43:27)
http://blogs.wankuma.com/episteme/


Cmpを自前で作りたいなら↓

#include <iostream>
#include <string>
#include <functional>

struct Cmp : std::binary_function<std::string,std::string,bool> {
  bool operator()(const std::string& x, const std::string& y) const {
    return x == y;
  }
};

int main(void){
  std::string teststr[] = { "i", "c0", "c1", "int", "" };
  Cmp c;
  for ( int i = 0; teststr[i] != ""; ++i ) {
    for ( int j = 0; teststr[j] != ""; ++j ) {
      std::cout << teststr[i] << " "
                << teststr[j] << ": "
                << std::boolalpha << c(teststr[i],teststr[j]) << std::endl;
    }
  }
  return 0;
}





この投稿にコメントする

削除パスワード

No.29390

Re:2つの文字列の比較
投稿者---かずま(2007/01/10 10:43:20)


> struct Cmp : std::binary_function<std::string,std::string,bool> {
バインダを呼び出すわけではないので、binary_function を継承する必要は
ないと思うのですが。


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧