namespace MyNamespace
{
static void foo1()
{
}
}
using namespace MyNamespace;
class MyClass
{
void foo2()
{
::foo1();
}
};
Run Code Online (Sandbox Code Playgroud)
范围解析操作::意味着在全局命名空间中使用方法.我们可以在这里使用::foo1().这意味着方法foo1()在全局命名空间中,对吗?
我的问题是,是否using namespace ANAMESPACE_NAME意味着我们将命名空间中的所有元素导入ANAMESPACE_NAME全局命名空间?
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
_testObject = [[TestObject alloc] init];
NSLog(@"_testObject rc = %d", _testObject.retainCount);
NSLog(@"testObject rc = %d", self.testObject.retainCount);
}
Run Code Online (Sandbox Code Playgroud)
而testObject是
@property (retain) TestObject *testObject;
Run Code Online (Sandbox Code Playgroud)
为什么这些NSLog()1和2 的输出分别是?的retainCount属性和底层对象的不同?