我正在用c ++编写一个矩阵类,并尝试重载一些像=和>>和<<等的运算符.
我无法为矩阵类重载operator [] [].如果我有像M1这样的类矩阵的对象,那么我可以用这种方式为每个元素赋值:
M1[1][2]=5;
Run Code Online (Sandbox Code Playgroud)
要么
int X;
X=M1[4][5];
Run Code Online (Sandbox Code Playgroud) 我看到一个问题,询问[a,b,c]=..L.返回什么.测试时,我看到它返回:L = ['.', a, [b, c]].
我无法理解为什么会发生这种情况,我无法从文档中了解Univ的本质.理解这一点将有助于我理解大学.
我得到HW,在main.cpp的一行中,我想支持:
board1[{1,1}]='X';
Run Code Online (Sandbox Code Playgroud)
这背后的逻辑意义是在(1,1)的位置将"X"分配给"游戏板".我不知道如何创建一个接收大括号的数组,如[{int,int}].
我怎样才能做到这一点?
PS因为这些是符号而不是字符(因为我不认识任何属于这个问题的术语)在谷歌搜索这类问题非常困难,所以这可能是重复的:-(,希望不是.
我试着这样做:
第一次尝试:
vector<vector<int> > matrix(50);
for ( int i = 0 ; i < matrix.size() ; i++ )
matrix[i].resize(50);
matrix[{1,1}]=1;
Run Code Online (Sandbox Code Playgroud)
第二次尝试:
int mat[3][3];
//maybe map
mat[{1,1}]=1;
Run Code Online (Sandbox Code Playgroud)
第3次尝试:
class _mat { // singleton
protected:
int i ,j;
public:
void operator [](string s)
{
cout << s;
}
};
_mat mat;
string s = "[{}]";
mat[s]; //this does allow me to do assignment also the parsing of the string is a hustle
Run Code Online (Sandbox Code Playgroud) 我按照这里的说明进行了操作,但是仍然在按录制网络(当然是在chrome上)时仍然可以使用常规浏览器,而不是隐身模式。也许有一种方法可以在testCase脚本中进行更改?
如何使用隐身模式进行记录?
也许我运行错了吗?这是我的运行方式:
PS我也尝试在Firefox中这样做,但未成功。