我正在阅读一篇非常愚蠢的论文,并继续谈论乔托如何定义"形式语义".
Giotto具有正式的语义,指定模式切换,任务间通信以及与程序环境通信的含义.
我处于边缘,但却无法完全理解"形式语义"的含义.
假设您正在查看6种基本类型的UML图(来自UML 2.0样式的元素)
假装你疯了,你想为你的系统绘制所有6个图表.
你会从哪开始的?那你要去哪?如果您非常清楚自己希望系统做什么,那么访问每个图表的最佳顺序是什么?
我认为你应该从物理图开始,然后按照自己的方式进行类图.自上而下,我总是说..?我错了吗?
该static_dir的例子是很清楚
因此,例如,我希望请求http://mysite.appengine.com/main.htm转到C:\<appenginesiteroot>\html\main.htm文件(在硬盘上),这可以实现
# app.yaml
- url: /
static_dir: html
Run Code Online (Sandbox Code Playgroud)
但是当谈到使用静态文件处理程序时,它并不清楚.
具体来说,我想将URL映射到html或其他静态文件.
因此,例如,请求http://mysite.appengine.com/将发送下来main.htm.
- url: /
script: main.htm ?? #fails because main.htm isn't a script file
Run Code Online (Sandbox Code Playgroud)
我知道可以使用如下指令:
- url: /
script: main.py
Run Code Online (Sandbox Code Playgroud)
然后让main.py简单地发送html,但我想知道"静态文件处理程序"是否真的在GAE中,或者它只是一个骗局.
有没有MATLAB的简写
v( 1:length(v)-1 ) % everything except last element
Run Code Online (Sandbox Code Playgroud)
在Python中,它
v[ :-1 ]
Run Code Online (Sandbox Code Playgroud)
MATLAB有类似的简写吗?
我想使用继承来根据层次结构中的位置以不同的方式处理对象
假设您构建Shape对象的层次结构,如:
class Shape {} ;
class Sphere : public Shape {} ;
class Triangle : public Shape {} ; ...
Run Code Online (Sandbox Code Playgroud)
然后为Ray类配备如下方法:
class Ray
{
Intersection intersects( const Sphere * s ) ;
Intersection intersects( const Triangle * t ) ;
};
Run Code Online (Sandbox Code Playgroud)
您存储各种类型的各种Shape*的数组并调用
vector<Shape*> shapes ; ...
//foreach shape..
Intersection int = ray.intersects( shapes[ i ] )
Run Code Online (Sandbox Code Playgroud)
但是你得到了编译错误
错误C2664:'交点Ray :: intersects(const Sphere*)const':无法将参数1从'Shape*const'转换为'const Sphere*'
你做错了什么?
唯一的方法就是用另一种方式来做
class Shape
{
virtual Intersection intersects( const Ray* ray )=0 …Run Code Online (Sandbox Code Playgroud) 每个应用程序都有自己的自定义二进制文件格式(例如.mpq,.wad).最重要的是,它通常是拉链的.
所以,我的问题是,你如何巧妙地 /熟练地布局文件的二进制内容.你有一个像目前结构的"目录"吗?将所有内容转储到一个文件中更好吗?
所以说你有一个数组Shapes,并且每个Shape都是变形的顶点数据(所以顶点数据已经从它最初加载的文件中改变了,所以它应该重新保存).
class Shape
{
vector<Vertex> verts ;
} ;
class Sphere : public Shape { } ; // ...more geometric shapes (Tet, Cube) are defined..
class Model : public Shape { } ; // general model "Shape" loaded from file
vector<Shape*> shapes ; // save me! contents are mix of Model, Sphere, Tet..
// each with variable number of verts
Run Code Online (Sandbox Code Playgroud) 我希望原点位于我窗口的中心.
______________ | ^ | | | | | o----->| | | |____________|
.NET希望它位于左上角.
_____________> | | | | | | | | V____________|
点网和我正在努力相处..
有没有人知道如何在C#中使用Graphics对象?
Graphics.TranslateTransform不会这样做,因为它会使坐标翻转过来.结合这个Graphics.ScaleTransform(1,-1)并不令人满意,因为这会使文本显示为颠倒.
所以我有类似的东西:
void createSinewave( short * array, int duration, int startOffset,
float freq, float amp ) ;
void createSquarewave( short * array, int duration, int startOffset,
float freq, float amp ) ;
其他功能将波形从一些低频"滑动"到一些高频,并接受两个频率参数.
使用这些功能,我已经能够创造出各种各样的声音..踢鼓,旧学校的激光火声,以及一堆听起来像脚步声的声音.我无法合成军鼓型声音.
有关如何生成一个的任何建议?混合的频率和混合的频率是多少?使用的其他波形类型比正弦波和方波和三角波?
有点受64 k可执行竞赛的启发.
在我看来,静态类变量与extern变量相同,因为您只在/ 语句中声明它,并在其他地方实际定义它(通常在.cpp文件中)static int xextern int x
// .h file
class Foo
{
static int x ;
} ;
// .cpp file
int MyClass::x = 0 ;
Run Code Online (Sandbox Code Playgroud)
// .h file
extern int y;
// .cpp file
int y = 1;
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,变量都在某处声明,并在编译中不会包含多次的文件中定义(否则链接器错误)
因此,有这个规则试图if从高重复循环中提取语句:
for( int i = 0 ; i < 10000 ; i++ )
{
if( someModeSettingOn ) doThis( data[i] ) ;
else doThat( data[i] ) ;
}
Run Code Online (Sandbox Code Playgroud)
他们说,最好将其分解,将if语句放在外面:
if( someModeSettingOn )
for( int i = 0 ; i < 10000 ; i++ )
doThis( data[i] ) ;
else
for( int i = 0 ; i < 10000 ; i++ )
doThat( data[i] ) ;
Run Code Online (Sandbox Code Playgroud)
(如果您说"Ho!不要自己优化!编译器会这样做!")确定优化器可能会为您执行此操作.但是在典型的C++废话中(我不同意他的所有观点,例如他对虚拟功能的态度)Mike Acton说:"为什么要让编译器猜测你知道的东西?对我来说,最好的点是那些胶粘物.
那么为什么不使用函数指针呢?
FunctionPointer *fp ;
if( someModeSettingOn …Run Code Online (Sandbox Code Playgroud) c++ ×4
audio ×1
c# ×1
drawing ×1
extern ×1
inheritance ×1
layout ×1
matlab ×1
performance ×1
procedural ×1
python ×1
syntax ×1
top-down ×1
uml ×1