小编vic*_*azo的帖子

单身模式怎么样?

我一直在寻找有关单身模式的信息,我发现: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?

php singleton design-patterns

2
推荐指数
1
解决办法
148
查看次数

超过限制时输入铸件

我想将两个int数相乘,为了防止超出int限制(2147483647),结果将保存在long long变量中.所以,我尝试这段代码:

int a, b;
long long result = a * b;
Run Code Online (Sandbox Code Playgroud)

这是行不通的!如果a=50000b=50000result=-1794967296.

因此,我要一个类型转换适用于ab:

int a, b;
long long result = (long long)a * (long long)b;
Run Code Online (Sandbox Code Playgroud)

为什么在这种情况下需要应用类型铸件?

注:我不想改变的数据类型ab,我需要保持他们的int.

c c++ casting type-conversion

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

标签 统计

c ×1

c++ ×1

casting ×1

design-patterns ×1

php ×1

singleton ×1

type-conversion ×1