我来自C/C#语言,现在我正在努力学习C++及其标准函数.
现在,我正在创建一个名为的类IMonsterDead.我将有一个std::vector<IMonsterDead*>与N怪物.
例:
class IMonsterDead {
public:
IMonsterDead(int Id)
{
this->_Id = Id;
}
virtual void OnDead() = 0;
int Id() const {
return _Id;
}
private:
int _Id;
};
Run Code Online (Sandbox Code Playgroud)
一个实现该类的类:
class MonsterTest : public IMonsterDead {
public:
MonsterTest(int generId)
: IMonsterDead(generId)
{
}
virtual void OnDead()
{
std::cout << "MonsterTesd died" << std::endl;
}
};
Run Code Online (Sandbox Code Playgroud)
好吧,如果我直接访问一切正常.但我正在尝试使用std::find.
完整的程序测试:
int main()
{
std::vector<IMonsterDead*> monsters;
for (int i = 0; i < 1000; i++) …Run Code Online (Sandbox Code Playgroud) 我使用 IValueConverter 设置一个复选框。\n但是我有三个复选框,并且我像 RadioButton 一样使用。选择其中一项后,需要取消选中其他项。
\n\n所以我做了类似的事情>
\n\n<MenuItem StaysOpenOnClick="True" \n Header="Reiniciar \xc3\xa1udio"\n IsCheckable="True"\n Name="RestartAudioCheck" \n IsChecked="{Binding PlayType, \n Mode=TwoWay,\n Converter={StaticResource PlayTypeCheckedConverter},\n ConverterParameter=restart}">\n</MenuItem>\n<MenuItem StaysOpenOnClick="True" \n Header="Parar \xc3\xa1udio"\n IsCheckable="True"\n Name="StopAudioCheck"\n IsChecked="{Binding PlayType, \n Mode=TwoWay,\n Converter={StaticResource PlayTypeCheckedConverter},\n ConverterParameter=stop}">\n</MenuItem>\n<MenuItem StaysOpenOnClick="True" \n Header="Pausar \xc3\xa1udio"\n IsCheckable="True"\n Name="PauseAudioCheck"\n IsChecked="{Binding PlayType, \n Mode=TwoWay,\n Converter={StaticResource PlayTypeCheckedConverter},\n ConverterParameter=pause}">\n</MenuItem>\nRun Code Online (Sandbox Code Playgroud)\n\n和转换器:
\n\nclass PlayTypeCheckedConverter : IValueConverter\n{\n public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\n {\n if (!(value is PlayType type))\n return false;\n\n if (!(parameter is string check))\n return …Run Code Online (Sandbox Code Playgroud) 我正在搞乱2D阵列.我想用计数填充2D数组.我已经设法使用2个嵌套for循环.(这可能是最简单的做法吗?)
//create count
int count = 1;
for (int row = 0; row < matrix.GetLength(0); row++)
{
for (int col = 0; col < matrix.GetLength(0); col++)
{
matrix[row, col] = count++;
}
}
Run Code Online (Sandbox Code Playgroud)
我只是很好奇,是否也可以仅使用一个for循环来填充这个2D数组?
我想过制作一个计算行数的循环.当行到达数组的末尾时,列将增加1.这可能通过使用一些if,if else和else语句来完成吗?
这里有人知道如何使这项工作?
首先,我想说的是关于编码的新手,所以如果代码看起来很糟糕,不要杀了我.
好吧,问题是我试图制作一个通用函数,其目的是获取两个已排序的数组并将它们合并为一个新的排序数组.我面临的问题是尝试在函数中使用if,并且它不允许我使用<操作数.
public object[] mergeTwoSorted<Tone, Ttwo>(Tone[] array, Ttwo[] array2)
{
object[] mergedArray = new object[array.Length + array2.Length];
for (int i = 0; i < mergedArray.Length; i++)
{
if (array is ValueType && array2 is ValueType)
{
if (array[i] > array2[i])
}
}
}
Run Code Online (Sandbox Code Playgroud)
有关如何解决这个问题的任何想法?