我知道,我可以像这样初始化数据.
int array[3] = { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)
甚至
int array[2][2] = { {1, 2}, {3, 4} };
Run Code Online (Sandbox Code Playgroud)
我也可以这样做 std::vector
std::vector<int> A = { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)
假设我想写自己的课程:
class my_class
{
std::vector< int > A;
public:
//pseudo code
my_class(*x) { store x in A;} //with x={ {1, 2}, {3, 4} }
// do something
};
Run Code Online (Sandbox Code Playgroud)
是否可以编写这样的构造函数,它是如何可能的?这是什么声明
{{1, 2}, {3, 4}} 实际上在做.
我总是发现,你可以用这种方式初始化数据,但绝不是它正在做的事情.
我正在寻找离线的开源翻译器/API。译文不一定好,只要能分析关键词就行。
我正在编写一个火狐插件。该插件计算网站是垃圾的可能性。它的工作原理类似于垃圾邮件过滤器,通过计算“邪恶”字词。它适用于英语,但我是德国人,德语对计算机来说更难。我的想法是通过将语言翻译成英文并分析英文文本来“简化”语言。有谷歌翻译 API,但现在你必须为此付费。我知道还有其他程序可以翻译网站:
他们都有一个问题。您将网站的 html 代码发送到服务器,服务器为您翻译文本并将其发回。这会增加流量并减慢速度。服务器的所有者也不会喜欢你。
这就是我寻找离线开源翻译器的原因。译文不一定好,只要能分析关键词就行。仅仅使用字典并逐字翻译是行不通的。
示例:“Ich Bringe Dich um”的意思是“我杀了你”。如果你一个字一个字地翻译它,你会得到:“我带你到处走。” 这个翻译听起来很奇怪,但并不邪恶。问题是“带来……嗯”只是一个词。
由于诸如此类的令人讨厌的问题,我想避免使用德语(还有更多问题:23 种不同的复数规则等)。我认为发明自动翻译的程序员已经面临并解决了这些问题。
我正在编写一种矩阵库,所以我operator +使用运算符重载给了我的矩阵a .它看起来像这样.
friend matrix<T, size_x, size_y> operator + (const matrix<T, size_x, size_y> & Input_1, const matrix<T, size_x, size_y> & Input_2){
matrix<T, size_x, size_y> Output;
for (int i=0; i<size_x; i++){
for (int j=0; j<size_y; j++){
Output.value[i][j]=Input_1.value[i][j]+Input_2.value[i][j];
}
}
return Output;
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,正如我测试它,它的工作原理.现在我也想添加 - ,/,*运算符,它们都是一样的.当然我可以使用复制,替换和粘贴.但这对可读性和可维护性不利.是否有一个更智能的解决方案,也许是一个概念,因为我不知道谷歌的概念名称吗?我刚刚发现,如何使单个运算符超载.