Static_cast或c样式的类型转换

时间:2016-09-10 13:06:46

标签: int static-typing

我想在不使用modf的情况下提取双数的整数部分。 哪个更好static_cast<int>(x)(int)x

1 个答案:

答案 0 :(得分:1)

在原始类型的引擎盖下,它们都完全相同。如果你只是将它分配给一个int变量,你甚至不需要强制转换,因为它会自动转换。我认为这只是一个偏好问题。我为原语let userQuery = PFQuery(className: "User") userQuery.whereKey("username", equalTo: username) userQuery.findObjectsInBackgroundWithBlock { (users, error) -> Void in if error == nil { if let objects = users { for object in objects { if let user = object as? PFUser { self.userBio = user.objectForKey("bio") as! String if user.objectForKey("icon") != nil { self.userIcon = user.objectForKey("icon") as! PFFile } if user.objectForKey("header") != nil { self.headerFile = user.objectForKey("header") as! PFFile } } } } } } 提供了c样式的强制转换,而对于需要处理继承等事情的C ++类类型,我使用了static_cast和dynamic_cast等。

请注意,根据您的编译器或系统处理负数,此行为可能不一致,即-6.4可能被截断为-6或下推至-7。