今日は勉強ノート
2830 ワード
今日は遅く起きました.以下は今日の学習ノートで、これからは些細なことがなければ毎日出します.
.hppは何ですか.どのように使いますか.c++のヘッダファイルです.c++は許可されています.hppファイルには、関数体の宣言と実装コードが記述されます.関数を呼び出すときは、ヘッダファイルを含めるだけです.
pragma once
テンプレートクラスの静的メンバーテンプレートクラスの静的メンバー変数は、異なる関数エンティティが異なる静的メンバー変数を生成することを宣言します.テンプレートパラメータ:
例外:範囲外の値が投げ出された:ヘッダファイルのstd::out_of_rang
.hppは何ですか.どのように使いますか.c++のヘッダファイルです.c++は許可されています.hppファイルには、関数体の宣言と実装コードが記述されます.関数を呼び出すときは、ヘッダファイルを含めるだけです.
pragma once
テンプレートクラスの静的メンバーテンプレートクラスの静的メンバー変数は、異なる関数エンティティが異なる静的メンバー変数を生成することを宣言します.テンプレートパラメータ:
:
#include
#include
using namespace std;
template
class array
{
T elems[size];
public:
T& operator[](unsigned i) throw (std::out_of_range) {
if(i >= size) throw std::out_of_range("array access out of range.");
else return elems[i];
}
};
int main(void)
{
array array0;
try{array0[11] = 0;}
catch(std::out_of_range& e)
{
cerr<
template
void foreach(T array[], unsigned size)
{
for(unsigned i=0; i
void inc(T &v)
{
++v;
}
template
void dec(T &v)
{
--v;
}
template
void print(T &v)
{
std::cout< >(array, 4);
foreach >(array, 4);
return 0;
}
:
#include
using namespace std;
template
struct wrapper
{
int get(){return *p;}
void set(int v){*p = v;}
};
int global_variable = 0;
int main(void)
{
wrapper gwrapper;
gwrapper.set(1);
cout<
using namespace std;
class some_value;
typedef int (some_value::* some_value_mfp)(int);
template
int call(some_value &value, int op){return (value.*func)(op);}
class some_value{
int value ;
public:
some_value(int _value):value(_value){}
int add_by(int op){return value += op;}
};
int main(void)
{
some_value v0(0);
cout<(v0, 2)<
using namespace std;
template class Func, typename T>
void foreach(T array[], unsigned size)
{
Func func;
for(unsigned i=0; i
struct inc
{
void operator()(T& v) const {v++;}
};
template
struct print
{
void operator()(T& v) const {cout<(array, 6);
foreach(array, 6);
return 0;
}
例外:範囲外の値が投げ出された:ヘッダファイルのstd::out_of_rang