在C中,我可以使用if/else语句测试枚举的值.例如:
enum Sport {Soccer, Basket};
Sport theSport = Basket;
if(theSport == Soccer)
{
// Do something knowing that it is Soccer
}
else if(theSport == Basket)
{
// Do something knowing that it is Basket
}
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以用C++完成这项工作吗?
我有一个Canvas带有Rectangle:
<Canvas>
<Rettangle/>
</Canvas>
Run Code Online (Sandbox Code Playgroud)
我希望,当我调整画布大小时,矩形保持相同的相对位置,例如:
----------------------------------------
| |
| |
| ____ |
| | | |
| |____| |
| |
|--------------------------------------
--------------------
| |
| ___ |
| |__| |
| |
|-------------------
Run Code Online (Sandbox Code Playgroud)
我能怎么做?
我想像这样将 a 应用Storyboard到我的Rectangle Fill:
<Rectangle Name="MyRectangle"
Width="100"
Height="100">
<Rectangle.Fill>
<SolidColorBrush x:Name="MySolidColorBrush" Color="Blue" />
</Rectangle.Fill>
<Rectangle.Triggers>
<EventTrigger RoutedEvent="Rectangle.MouseEnter">
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetName="MySolidColorBrush"
Storyboard.TargetProperty="Color"
From="Blue" To="Red" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Rectangle.Triggers>
</Rectangle>
Run Code Online (Sandbox Code Playgroud)
但我想插入Storyboarda Style,我试过这个:
<Style xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:s="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
TargetType="{x:Type Rectangle}">
<Style.Triggers>
<EventTrigger RoutedEvent="Shape.Loaded">
<BeginStoryboard>
<Storyboard>
<ColorAnimation
Storyboard.TargetName="MySolidColorBrush"
Storyboard.TargetProperty="Color"
From="Blue" To="Red" Duration="0:0:1" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Style.Triggers>
<Setter Property="Shape.Fill" Value="Blue" x:Name="MySolidColorBrush"/>
</Style>
Run Code Online (Sandbox Code Playgroud)
使用此代码:
var rect = new Rectangle();
using (FileStream stream = new FileStream("myStyle.xaml", FileMode.Open)) …Run Code Online (Sandbox Code Playgroud) 我有一个std::list<obj*>,obj我的班级在哪里:
std::list<obj*> list_of_ptr;
list_of_ptr.push_back(new obj());
Run Code Online (Sandbox Code Playgroud)
我想将此列表转换为等效std::list<obj>,之后我不再需要了list_of_ptr.
做这项工作的最快方法是什么?
假设我在base接口中有一个纯虚方法,它返回给我一个列表something:
class base
{
public:
virtual std::list<something> get() = 0;
};
Run Code Online (Sandbox Code Playgroud)
假设我有两个继承base该类的类:
class A : public base
{
public:
std::list<something> get();
};
class B : public base
{
public:
std::list<something> get();
};
Run Code Online (Sandbox Code Playgroud)
我希望只有A类可以返回一个list<something>,但我还需要有可能使用base指针获取列表,例如:
base* base_ptr = new A();
base_ptr->get();
Run Code Online (Sandbox Code Playgroud)
我该怎么办?
我是否要返回指向此列表的指针?参考?
我是否要从类的方法返回空指针B?或者,当我尝试使用B对象获取列表时,是否要抛出异常?或者我要改变base类方法get,使它不纯,并在base课堂上做这个工作?
我还有别的事吗?
我有两节课:
public class A
{
}
public sealed class B : A
{
}
Run Code Online (Sandbox Code Playgroud)
我希望只有我的B类(在同一个程序集中定义A)才能继承A.
我能怎么做?
我使用一个System.Threading.Timer对象,并设置它的周期:
// period of 1 second
var timer = new Timer(CallBack, null, 0, 1000);
...
Run Code Online (Sandbox Code Playgroud)
现在我想获取我的计时器的时间,我该怎么做?
我有一个列表,可以包含不同类型的几个元素.我需要检查在此列表中是否存在特定类型的一个或多个元素并获取其索引.
l = [1, 2, 3, myobj, 4, 5]
Run Code Online (Sandbox Code Playgroud)
我可以通过遍历我的列表并检查每个元素的类型来实现这个目标:
for i, v in enumerate(l):
if type(v) == Mytype:
return i
Run Code Online (Sandbox Code Playgroud)
是否有更多的pythonic方法来实现相同的结果?
我需要捕获给定窗口HWND句柄的窗口屏幕并将捕获结果存储在ID2D1Bitmap对象中,以便通过渲染目标绘制此位图。
我怎样才能达到这个结果?
我有两个Eigen::MatrixXd,他们总是有一排.输入矩阵是A,我想将此矩阵复制到另一个矩阵B,但矩阵之间的列数可能不同.
以下是一个例子:
A
0.5
Run Code Online (Sandbox Code Playgroud)
我需要创建一个B包含1行和4列的矩阵,这样它将是:
B
0.5 0.5 0.5 0.5
Run Code Online (Sandbox Code Playgroud)
但如果A是:
A
1 0.5
Run Code Online (Sandbox Code Playgroud)
然后B会
B
1 0.5 1 0.5
Run Code Online (Sandbox Code Playgroud)
我能怎么做?
c++ ×5
c# ×4
inheritance ×2
shapes ×2
wpf ×2
.net ×1
bitmap ×1
containers ×1
direct2d ×1
eigen ×1
list ×1
matrix ×1
polymorphism ×1
python ×1
rendering ×1
screenshot ×1
search ×1
stl ×1
storyboard ×1
styles ×1
timer ×1
types ×1
wpf-controls ×1
xaml ×1