小编bob*_*obo的帖子

什么是"形式语义"?

我正在阅读一篇非常愚蠢的论文,并继续谈论乔托如何定义"形式语义".

Giotto具有正式的语义,指定模式切换,任务间通信以及与程序环境通信的含义.

我处于边缘,但却无法完全理解"形式语义"的含义.

formal-semantics

7
推荐指数
2
解决办法
5150
查看次数

我应该从哪个UML图开始?

扩展

假设您正在查看6种基本类型的UML图(来自UML 2.0样式的元素)

  1. 类图
  2. 用例图
  3. 状态机图
  4. 活动图
  5. 序列图
  6. 物理图

假装你疯了,你想为你的系统绘制所有6个图表.

你会从哪开始的?那你要去哪?如果您非常清楚自己希望系统做什么,那么访问每个图表的最佳顺序是什么?

我认为你应该从物理图开始,然后按照自己的方式进行类图.自上而下,我总是说..?我错了吗?

uml top-down

7
推荐指数
1
解决办法
2925
查看次数

Google app引擎静态文件处理程序示例

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中,或者它只是一个骗局.

python google-app-engine

7
推荐指数
1
解决办法
2555
查看次数

MATLAB除了最后一个元素之外

有没有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有类似的简写吗?

syntax matlab

7
推荐指数
1
解决办法
2314
查看次数

C++重载决议

我想使用继承来根据层次结构中的位置以不同的方式处理对象

(类似于这个C#问题)

假设您构建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)

c++ inheritance

7
推荐指数
1
解决办法
574
查看次数

你如何布置自定义二进制文件格式?

每个应用程序都有自己的自定义二进制文件格式(例如.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)

c++ layout serialization

7
推荐指数
1
解决办法
4711
查看次数

Make + y UP,Move Origin C#System.Drawing.Graphics

我希望原点位于我窗口的中心.


______________
|     ^      |
|     |      |
|     o----->|
|            |
|____________|

.NET希望它位于左上角.


_____________>
|            |
|            |
|            |
|            |
V____________|

点网和我正在努力相处..

有没有人知道如何在C#中使用Graphics对象?

Graphics.TranslateTransform不会这样做,因为它会使坐标翻转过来.结合这个Graphics.ScaleTransform(1,-1)并不令人满意,因为这会使文本显示为颠倒.

c# drawing system.drawing

6
推荐指数
1
解决办法
2539
查看次数

程序军鼓

所以我有类似的东西:

    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可执行竞赛的启发.

language-agnostic audio procedural procedural-music

6
推荐指数
1
解决办法
390
查看次数

静态类变量是否与外部变量相同,只有类范围?

在我看来,静态类变量与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)

在这两种情况下,变量都在某处声明,并在编译中不会包含多次的文件中定义(否则链接器错误)

c++ extern

6
推荐指数
1
解决办法
2521
查看次数

通过使用函数指针来切割if语句会更有效吗?

因此,有这个规则试图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++ performance function-pointers data-oriented-design

6
推荐指数
3
解决办法
1625
查看次数