Ok, hãy xem xét thành ngữ phổ biến này mà hầu hết chúng ta đã sử dụng nhiều lần (tôi giả sử):
class FooBarDictionary
{
private Dictionary<String, FooBar> fooBars;
...
FooBar GetOrCreate(String key)
{
FooBar fooBar;
if (!fooBars.TryGetValue(key, out fooBar))
{
fooBar = new FooBar();
fooBars.Add(key, fooBar);
}
return fooBar;
}
}
Nó có bất kỳ loại tên thành lập nào không?
(Có, nó được viết bằng C #, nhưng nó có thể được chuyển "dễ dàng" sang C ++. Do đó, thẻ đó.)