Difference between revisions of "Static"
From Mesham
Jump to navigationJump to searchm |
|||
Line 18: | Line 18: | ||
[[Category:Type Library]] | [[Category:Type Library]] | ||
− | [[Category: | + | [[Category:Compound Types]] |
[[Category:Allocation Types]] | [[Category:Allocation Types]] |
Revision as of 17:56, 12 January 2013
Syntax
static[]
Semantics
Instructs the environment to bind the associated variable to static memory. Because it is allocated into static memory, this is the same physical memory per function call and loop iteration (environment binding only occurs once.)
Note: This type, used for function parameters or return type instructs pass by value
Example
var i:Int :: allocated[static];
In this example variable i is declared as an integer and allocated to all processes (by default) and also on static memory. Note how we have omitted the optional braces to the stack type as there are no arguments.
Default allocation strategies
Type | Default allocation strategy |
---|---|
All element types | Stack |
Array | Heap |
Record | Stack |
Reference record | Heap |