2015年5月25日月曜日

CharTraits(C++)

CharTraitsはよくわかってない。標準出力などのbasic_streamを引数に受け取って流し込むようにtemplateに指定する使用方法を記載する。
//
// chartraits.cpp
// CplusplusPractice
//
// Created by masai on 2015/05/25.
// Copyright (c) 2015年 masai. All rights reserved.
//
#include <iostream>
using namespace std;
struct result{
result(int num_success, int num_total){
num_success_ = num_success;
num_total_ = num_total;
}
double accuracy() const{
return (num_success_ * 100.0 / num_total_);
}
template<typename Char, typename CharTraits>
void print_summary(std::basic_ostream<Char, CharTraits>& os) const{
os << "accuracy: " << accuracy() << "% (" << num_success_ << "/" << num_total_ << ")" <<endl;
}
int num_success_;
int num_total_;
};
int main(int argc, char* argv[]){
result r(93, 100);
r.print_summary(std::cout);
}
view raw chartraits.cpp hosted with ❤ by GitHub

0 件のコメント:

コメントを投稿