亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch6main.cpp

?? c編譯器詞法分析程序源碼
?? CPP
字號:
/**************************************************
 * Essential C++ -- Stanley Lippman
 * Addison-Wesley 
 * ISBN 0-201-48518-4
 * homepage: www.objectwrite.com
 * email: slippman@objectwrite.com
 *************************************************/

#include <iostream>
#include <cassert>
using namespace std;

template <typename elemType>
class Matrix 
{
    friend Matrix<elemType> 
    operator+( const Matrix<elemType>&, const Matrix<elemType>& );

    friend Matrix< elemType > 
    operator*( const Matrix<elemType>&, const Matrix<elemType>& );

public:
    Matrix( int rows, int columns );
    Matrix( const Matrix& );
    ~Matrix(){ delete [] _matrix; } 
    Matrix& operator=( const Matrix& );

    void operator+=( const Matrix& );
    elemType& operator()( int row, int column ) 
        { return _matrix[ row * cols() + column ]; }

    const elemType& operator()( int row, int column ) const
        { return _matrix[ row * cols() + column ]; }

    int rows() const { return _rows; }
    int cols() const { return _cols; }

    bool same_size( const Matrix &m ) const 
         { return rows() == m.rows() && cols() == m.cols(); }

    bool comfortable( const Matrix &m ) const
         { return ( cols() == m.rows() ); }

    ostream& print( ostream& ) const;

protected:
    int  _rows;
    int  _cols;
    elemType *_matrix;
};

template <typename elemType>
inline ostream& operator<<( ostream& os, const Matrix<elemType> &m )
    { return m.print( os ); }

// end of Matrix.h
template <typename elemType>
Matrix< elemType > 
operator+( const Matrix<elemType> &m1, const Matrix<elemType> &m2 )
{
    assert( m1.same_size( m2 ) != 0 );

    Matrix<elemType> result( m1 );
    result += m2;
    return result;
}

template <typename elemType>
Matrix<elemType> 
operator*( const Matrix<elemType> &m1, const Matrix<elemType> &m2 )
{
    assert( m1.comfortable( m2 ) != 0 );
    Matrix<elemType> result( m1.rows(), m2.cols() );

    for ( int ix = 0; ix < m1.rows(); ix++ ) {
	   for ( int jx = 0; jx < m1.cols(); jx++ ) {
	         result( ix, jx ) = 0;
	         for ( int kx = 0; kx < m1.cols(); kx++ )
		        result( ix, jx ) += m1( ix, kx ) * m2( kx, jx );
	   }
    }
    return result;
}
    
template <typename elemType>
void Matrix<elemType>::operator+=( const Matrix &m )
{
    assert( same_size( m ) != 0 );
    register int matrix_size = cols() * rows();

    for ( int ix = 0; ix < matrix_size; ++ix )
        ( *( _matrix + ix )) += ( *( m._matrix + ix ));
}

template <typename elemType>
ostream& Matrix<elemType>::print( ostream &os ) const
{
    register int col = cols();
    register int matrix_size = col * rows();

    for ( int ix = 0; ix < matrix_size; ++ix )
    {
	  if ( ix % col == 0 ) os << endl; 
	  os << ( *( _matrix + ix )) << ' ';
    }

    os << endl;
    return os;
}

template <typename elemType>
Matrix<elemType>::Matrix( const Matrix & rhs )
{ 
	_rows = rhs._rows; _cols = rhs._cols;
	int mat_size = _rows * _cols;
   _matrix = new elemType[ mat_size ];
	for ( int ix = 0; ix < mat_size; ++ix )
         _matrix[ ix ] = rhs._matrix[ ix ]; 

}

template <typename elemType>
Matrix<elemType>& Matrix<elemType>::
operator=( const Matrix &rhs ) 
{
	if ( this != &rhs )
   {
    	    _rows = rhs._rows; _cols = rhs._cols;
	     int mat_size = _rows * _cols;
	     delete [] _matrix;
	     _matrix = new elemType[ mat_size ];
	     for ( int ix = 0; ix < mat_size; ++ix )
              _matrix[ ix ] = rhs._matrix[ ix ]; 
    }
    return *this;
}

template <typename elemType>
Matrix<elemType>::Matrix( int rows, int columns )
            : _rows( rows ), _cols( columns )
{ 
    int size = _rows * _cols;
    _matrix = new elemType[ size ];
    for ( int ix = 0; ix < size; ++ix )
          _matrix[ ix ] = elemType(); 
}


#include <fstream>
void ex6_2()
{
	ofstream log( "logmatrix.txt" );
	if ( ! log )
		{ cerr << "can't open log file!\n"; return; }

	Matrix<float> identity( 4, 4 );
    log << "identity: " << identity << endl;

	float ar[16]={
		1., 0., 0., 0., 0., 1., 0., 0.,
		0., 0., 1., 0., 0., 0., 0., 1. };

	for ( int i = 0, k = 0; i < 4; ++i )
		for ( int j = 0; j < 4; ++j )
		    identity( i, j ) = ar[ k++ ];

	log << "identity after set: " << identity << endl;

	Matrix<float> m( identity );
	log << "m: memberwise initialized: " << m << endl; 
	
	Matrix<float> m2( 8, 12 );
	log << "m2: 8x12: " <<  m2  << endl;

	m2 = m;
	log << "m2 after memberwise assigned to m: " << m2 << endl;

	float ar2[16]={
		1.3f, 0.4f, 2.6f, 8.2f, 6.2f, 1.7f, 1.3f, 8.3f,
		4.2f, 7.4f, 2.7f, 1.9f, 6.3f, 8.1f, 5.6f, 6.6f };

	Matrix<float> m3( 4, 4 );

	for ( int ix = 0, kx = 0; ix < 4; ++ix )
		for ( int j = 0; j < 4; ++j )
		    m3( ix, j ) = ar2[ kx++ ];

	log << "m3: assigned random values: " << m3 << endl;

	Matrix<float> m4 = m3 * identity;
	log << m4 << endl;

	Matrix<float> m5 = m3 + m4;
	log << m5 << endl;

	m3 += m4;
	log << m3 << endl;
}

#include <vector>
#include <algorithm>
using namespace std;

void test_rotate()
{
	char ch[] = "boohiss!!";
	rotate( ch, ch+3, ch+7 );
	cout << ch << endl;
}

int main()
{ 
	ex6_2();
	test_rotate();
	return 0; // unnecessary but quiets vc++
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
高清不卡一二三区| 色综合久久久久网| 久久久欧美精品sm网站| 亚洲一区二区欧美| 欧美日韩国产区一| 蜜桃视频一区二区三区| 日韩三级视频在线观看| 国产成人丝袜美腿| 婷婷成人综合网| 久久久久综合网| 91香蕉视频污在线| 亚洲综合一区二区精品导航| 欧美天堂亚洲电影院在线播放| 亚洲国产视频a| 欧美一区二区私人影院日本| 麻豆视频观看网址久久| 亚洲欧洲精品天堂一级 | 欧美精品一区二区三区高清aⅴ| 国产在线国偷精品免费看| 国产精品久久久久久久久动漫| 91在线一区二区| 六月丁香婷婷色狠狠久久| 国产偷国产偷精品高清尤物| 91精品在线免费| 6080日韩午夜伦伦午夜伦| 国产一区999| 日产精品久久久久久久性色| 亚洲精选在线视频| 椎名由奈av一区二区三区| 久久久久国产精品麻豆ai换脸| 欧美日韩中文精品| 99久久伊人久久99| 国产美女在线精品| 老司机精品视频一区二区三区| 图片区小说区国产精品视频| 亚洲在线视频一区| 一区二区在线观看不卡| 国产精品第一页第二页第三页| 久久综合狠狠综合久久激情| 欧美videossexotv100| 欧美日韩一区在线| 日本电影欧美片| 成人黄色电影在线 | 精品视频在线免费观看| 精品视频资源站| 日韩午夜电影在线观看| 日韩欧美国产成人一区二区| 久久新电视剧免费观看| 国产精品成人一区二区艾草| 成人欧美一区二区三区在线播放| 久久这里只有精品首页| 2021国产精品久久精品| 亚洲综合视频在线| 日韩国产一区二| 国产激情视频一区二区在线观看| 成人免费av资源| 欧美高清hd18日本| 国产精品你懂的在线欣赏| 玉足女爽爽91| 蜜桃精品视频在线观看| 欧美一级日韩一级| 亚洲女厕所小便bbb| 国产成人av电影| 在线观看91av| 伊人婷婷欧美激情| 国产一区二区三区高清播放| 91年精品国产| 欧美激情一二三区| 水野朝阳av一区二区三区| 色欧美片视频在线观看 | 26uuu国产电影一区二区| 亚洲精品国产无天堂网2021| 国产盗摄女厕一区二区三区| 777亚洲妇女| 亚洲国产成人av网| 91高清视频在线| 亚洲视频每日更新| 99精品视频一区二区| 中文字幕一区二区不卡| www.亚洲色图| 亚洲电影一级片| 欧美日韩国产天堂| 日韩av不卡一区二区| 欧美色老头old∨ideo| 夜夜爽夜夜爽精品视频| 色94色欧美sute亚洲线路二 | 一区二区三区在线不卡| 国产成人一级电影| 国产精品嫩草影院av蜜臀| 欧美日韩国产三级| 蜜桃视频在线一区| 久久色.com| 成人av资源站| 亚洲大片精品永久免费| 欧美久久久一区| 国产一区二区剧情av在线| 中文字幕一区二区三区不卡在线| 欧美专区在线观看一区| 另类小说一区二区三区| 久久精品一区四区| 色偷偷一区二区三区| 丝袜美腿亚洲综合| 日本一区二区三区在线不卡| 欧美日韩黄色影视| 91在线精品一区二区三区| 日韩国产欧美在线视频| 国产精品丝袜久久久久久app| 91精品在线免费| 欧美三级一区二区| 99久久99久久精品免费看蜜桃| 丝袜亚洲另类丝袜在线| 亚洲精品免费播放| 久久久夜色精品亚洲| 欧美美女网站色| 色狠狠色噜噜噜综合网| 91女人视频在线观看| 国产sm精品调教视频网站| 日韩国产欧美在线观看| 日本不卡高清视频| 精品一区二区三区香蕉蜜桃| 日本强好片久久久久久aaa| 亚洲成av人片在线观看无码| 一区二区三区国产精品| 亚洲与欧洲av电影| 亚洲午夜激情网页| 麻豆成人av在线| 国产成人精品一区二区三区四区 | 7799精品视频| 在线视频一区二区三区| 在线视频一区二区免费| 日韩欧美国产综合在线一区二区三区| 欧美无人高清视频在线观看| 在线看国产一区二区| 欧美在线小视频| 久久久久亚洲蜜桃| 综合久久国产九一剧情麻豆| 亚洲成av人片www| 国产99久久久精品| 91电影在线观看| 欧美精三区欧美精三区| 日韩一级黄色片| 国产精品全国免费观看高清| 亚洲影视在线播放| 麻豆精品视频在线| 欧洲一区二区三区在线| 久久久久99精品一区| 亚洲午夜久久久久久久久久久 | 国产成人午夜视频| 欧美人与禽zozo性伦| 国产日韩欧美不卡| 亚洲成人av中文| 色婷婷亚洲精品| 国产色91在线| 精品在线你懂的| 精品国产一区二区三区四区四| 亚洲一区中文在线| 欧美日韩久久久一区| av在线不卡免费看| www国产成人| 天使萌一区二区三区免费观看| 欧洲av在线精品| 亚洲成av人片观看| 欧美精品色一区二区三区| 亚洲一区二区三区小说| 日本乱人伦aⅴ精品| 亚洲成人777| 精品日本一线二线三线不卡| 日产国产欧美视频一区精品| 欧美电影免费观看高清完整版在线| 亚洲大片精品永久免费| 欧美久久一二三四区| 亚洲成av人**亚洲成av**| 欧美色图在线观看| 老司机精品视频一区二区三区| 精品久久一区二区| 99久久精品久久久久久清纯| 亚洲精品高清在线观看| 欧美精品一区男女天堂| 老司机一区二区| 国产性天天综合网| 免费在线观看成人| 久久久www成人免费毛片麻豆 | 91麻豆国产自产在线观看| 亚洲一区二区欧美| 国产午夜亚洲精品不卡| 欧美色综合网站| 成人性生交大合| 国产一区二区剧情av在线| 亚洲高清视频中文字幕| 国产精品乱码久久久久久| 欧美三级电影在线观看| 波多野结衣精品在线| 九一九一国产精品| 麻豆成人综合网| 视频在线观看国产精品| 亚洲手机成人高清视频| 国产精品视频在线看| 国产三级精品在线| 国产欧美日韩视频在线观看| 欧美mv日韩mv国产网站|