我一直在寻找有关单身模式的信息,我发现:http://www.php.net/manual/en/language.oop5.patterns.php#95196
我不明白:
final static public function getInstance()
{
static $instance = null;
return $instance ?: $instance = new static;
}
Run Code Online (Sandbox Code Playgroud)
如果将$ instance设置为null,为什么会这样返回?为什么不在类的全局"空间"中创建$ instance而不在getInstance中将其设置为null?
我想将两个int
数相乘,为了防止超出int
限制(2147483647),结果将保存在long long
变量中.所以,我尝试这段代码:
int a, b;
long long result = a * b;
Run Code Online (Sandbox Code Playgroud)
而这是行不通的!如果a=50000
和b=50000
再result=-1794967296
.
因此,我要一个类型转换适用于a
和b
:
int a, b;
long long result = (long long)a * (long long)b;
Run Code Online (Sandbox Code Playgroud)
为什么在这种情况下需要应用类型铸件?
注:我不想改变的数据类型a
和b
,我需要保持他们的int
.