在我工作的地方,人们通常认为对象最好使用C++样式构造(带括号)初始化,而原始类型应该用=运算符初始化:
std::string strFoo( "Foo" );
int nBar = 5;
Run Code Online (Sandbox Code Playgroud)
但是,似乎没有人能够用这种方式解释他们为什么喜欢这样的东西.我可以看到std::string = "Foo";效率低下,因为它会涉及额外的副本,但是=完全放弃运算符并在各处使用括号有什么不对?
这是一个共同的惯例吗?这背后的想法是什么?
我应该创建两个CFile对象并将其中一个字符复制到另一个字符中吗?或者图书馆里有什么东西可以帮我吗?
我正在开发一种仅在横向模式下工作的游戏.当我将启动图像(Default.png)导入到我的xcode proj并运行它时,图像以纵向模式显示,然后视图以横向模式启动.如何才能使我的启动/启动图像仅以横向模式显示?
将vector向量size()函数的结果转换为an 似乎是安全的unsigned int.但是我怎么能确定呢?我的文档不清楚如何size_type定义.
在下面的C++代码中,我意识到gcount()返回的数字比我想要的更多,因为它getline()消耗了最终的换行符,但是没有将它发送到输入流.
但我仍然不明白的是程序的输出.对于输入"Test \n",为什么我得到"est \n"?为什么我的错误会影响字符串的第一个字符,而不是在末尾添加不需要的垃圾?为什么程序的输出与字符串在调试器中的显示方式不一致("Test \n",正如我所期望的那样)?
#include <fstream>
#include <vector>
#include <string>
#include <iostream>
using namespace std;
int main()
{
const int bufferSize = 1024;
ifstream input( "test.txt", ios::in | ios::binary );
vector<char> vecBuffer( bufferSize );
input.getline( &vecBuffer[0], bufferSize );
string strResult( vecBuffer.begin(), vecBuffer.begin() + input.gcount() );
cout << strResult << "\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud) 以下是Apple教程中视图控制器中的两种方法:
- (void)viewDidUnload {
self.eventsArray = nil;
self.locationManager = nil;
self.addButton = nil;
}
- (void)dealloc {
[managedObjectContext release];
[eventsArray release];
[locationManager release];
[addButton release];
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud)
这个dealloc方法不能缩短到以下几点吗?如果没有,为什么不呢?
- (void)dealloc {
[managedObjectContext release];
[super dealloc];
}
Run Code Online (Sandbox Code Playgroud) 我想了解Cocos2d,我已经阅读了更多关于Cocos2D的3个教程,但我还没有任何明确的想法,如何在MAC上安装Cocos2D.如果有人知道Coco2D的正确安装步骤,请告诉我,以便我可以从Cocos2D开始.
我正在使用UIWebView在我的iPhone应用程序中显示一些HTML内容.我有一个图像链接,我希望它在用户触摸时更改 - 在用户将手指放在屏幕上的那一刻,而不是等到他们将手指抬起来.
什么CSS或JavaScript概念可以实现这一目标?我看了看hover,并active在CSS中指出,但他们似乎并没有被后我什么:hover涉及触摸式,而不是触摸式下降,而active似乎没有任何效果可言.
我在其中一个标签中创建了一个带有导航控制器的iOS标签栏应用程序.它在从堆栈中推送或弹出视图时使用翻转动画(我在这里找到了如何做到这一点).
除了标签栏的问题外,它看起来很棒.在堆栈的根的视图显示标签栏,但对于下一个我已经设置hidesBottomBarWhenPushed到YES.推动效果很好; 问题是弹回到根视图控制器.我的视图从左侧翻转,除了滑动的标签栏.
这是弹出视图控制器的代码:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:self.navigationController.view
cache:NO];
[UIView setAnimationDuration:flipDuration];
[self.navigationController popViewControllerAnimated:NO];
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果我注释掉除了第四个语句之外的所有语句,标签栏就会表现出来 - 它不会滑入,它只会立即显示其余部分.出于某种原因,添加过渡允许标签栏对自己说,'好吧,其他人都是动画的.为什么我不能动画?但没有poncy为我翻转.我想我会坚持下滑.
我能做什么?理想情况下,我希望标签栏与其余部分一起翻转,但我也很乐意随后逐渐消失.