这是我的困境:我真的很喜欢lambda,并且一直在使用Boost.Fusion和Phoenix.它们非常成熟,可以很好地兼顾许多编译器.
C++ 11 lambdas怎么样?它们非常好用,然后更容易使用,然后提升替代品(没有更多的仿函数!).最近的ICC和GCC编译器支持它们.但是仍然有很多ICC 9.x和GCC 4.1及以下系统,更不用说XL和Sun编译器了.这些编译器是否提供lambda支持?
我倾向于认为也许我应该等待使用C++ 11功能,以免旧系统拒绝代码.你怎么看?等到较旧的编译器逐渐消失或者只是这样做?
我正在尝试创建导航
http://forrst-production.s3.amazonaws.com/posts/snaps/59125/mega.jpg?1297328693
导航宽度将根据内部列表项的宽度进行扩展或收缩.我该如何实现这一目标?或者我必须为导航设置固定宽度?
我收到以下错误消息:
2011-02-11 14:47:13.815 myProject[13177:207] Could not load the "icon-troubleshoot.png" image referenced from a nib in the bundle with identifier "com.myCompany.myProject"
Run Code Online (Sandbox Code Playgroud)
此文件是以前使用过的旧文件,但现在已被删除.据我所知,icon-troubleshoot.png在我的项目中没有使用过任何地方.我尝试清理和重建,清空缓存,但它没有用.搜索字符串疑难解答作为文本引用并选择"包含"返回任何内容.有谁知道我怎么能找到导致这个错误的原因?
FlowDocumentReader在其ContextMenu,Copy和Select All中有两个菜单项.我想为它添加一个额外的MenuItem并试过这个:
private void FlowDocumentReader_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
flowDocumentReader.ContextMenu.Items.Clear();
MenuItem menuItem = new MenuItem();
menuItem.Header = "Test";
flowDocumentReader.ContextMenu.Items.Add(menuItem);
}
Run Code Online (Sandbox Code Playgroud)
另外我试过这个:
private void FlowDocumentReader_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
MenuItem menuItem = new MenuItem();
menuItem.Header = "Test";
flowDocumentReader.ContextMenu.Items.Add(menuItem);
}
Run Code Online (Sandbox Code Playgroud)
我不清除上下文菜单中的项目并尝试附加它.这些都不奏效.
我可以像这样创建自己的菜单:
private void FlowDocumentReader_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
MenuItem menuItem = new MenuItem();
menuItem.Header = "Test";
flowDocumentReader.ContextMenu.Items.Add(menuItem);
e.Handled = true;
ContextMenu menu = new ContextMenu();
MenuItem a = new MenuItem();
a.Header = "A";
menu.Items.Add(a);
MenuItem b = new MenuItem();
b.Header = …Run Code Online (Sandbox Code Playgroud) 我正在尝试更改Cocoa应用程序主菜单中某些项目的标题.我已尝试在IB中设置它们,也可以从我的应用程序的applicationDidFinishLaunchingWithOptions:方法中进行编程.无论哪种方式,我的NSMenuItem对象的title属性确实发生了变化.但是,当应用程序运行时,我的更改都不会反映在屏幕顶部项目的实际标题中.
谁能解释一下发生了什么?我怎么能改变这个?
编辑:数据结构是IB设置的默认结构:
NSApplication *app = [NSApplication sharedApplication];
NSMenu *mainMenu = [app mainMenu];
NSArray *itemArray = [mainMenu itemArray];
NSMenuItem *firstItem = [itemArray objectAtIndex: 0];
NSMenu *submenu = [firstItem submenu];
Run Code Online (Sandbox Code Playgroud)
我已将firstItem和subMenu的title属性更改为我想要的标题.然而,默认的仍然显示.
我需要以不同于其他所有类型的方式处理404异常.识别这些404异常的最佳方法是什么(将它们与其他异常区分开来)?
问题是404错误没有特殊的异常类,我得到常规的System.Web.HttpException,其中Message ="文件不存在".
我应该只使用异常消息还是有更好的方法?
谢谢.
我正在做一个长轮询方法的聊天室.但似乎,当一个长的民意调查发生并且我刷新页面的铬或我尝试发送另一个异步请求一切都超时(即我不能再加载我的域,直到我关闭/重新打开浏览器).
我的客户端代码是:
$(document).ready(function() {
setTimeout(
function () {
longPollForMessages();
},
500
);
});
function longPollForMessages()
{
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
$('#chat_messages').append('<div>'+data.messages+'</div>');
longPollForMessages();
}
});
}
Run Code Online (Sandbox Code Playgroud)
我的服务器端:
while(true) {
$messages = $db->getMessages();
if (!$messages || sizeof($messages)==0) {
sleep(1);
} else {
echo '{"message":'.json_encode($messages).'}';
die();
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?假设没有语法错误.
使用蜂窝模拟器时显示以下错误并变得非常慢.
02-11 02:58:50.949: ERROR/ActivityManager(365): ANR in com.android.launcher (com.android.launcher/com.android.launcher2.Launcher)
02-11 02:58:50.949: ERROR/ActivityManager(365): Reason: keyDispatchingTimedOut
02-11 02:58:50.949: ERROR/ActivityManager(365): Load: 2.57 / 1.18 / 0.89
02-11 02:58:50.949: ERROR/ActivityManager(365): CPU usage from 3042ms to -7585ms ago:
02-11 02:58:50.949: ERROR/ActivityManager(365): 74% 365/system_server: 53% user + 21% kernel / faults: 335 minor
02-11 02:58:50.949: ERROR/ActivityManager(365): 9% 780/zygote: 3.8% user + 5.1% kernel / faults: 915 minor
02-11 02:58:50.949: ERROR/ActivityManager(365): 8.2% 684/com.android.launcher: 6% user + 2.1% kernel / faults: 51 minor
02-11 02:58:50.949: ERROR/ActivityManager(365): 0% 432/zygote: 0% …Run Code Online (Sandbox Code Playgroud) 我正在从命令行运行msbuild,其中包含以下内容:
msbuild mysolution.sln -p:outputdir=c:\mydir
Run Code Online (Sandbox Code Playgroud)
当我运行它时,outputdir被忽略,并且正在使用csproj文件中指定的默认值.
该工具的MSDN文档说我应该能够使用此参数覆盖构建目录.我究竟做错了什么?
private void Include(IList<string> includes, Action action)
{
if (includes != null)
{
foreach (var include in includes)
action(<add include here>);
}
}
Run Code Online (Sandbox Code Playgroud)
我想这样称呼它
this.Include(includes, _context.Cars.Include(<NEED TO PASS each include to here>));
Run Code Online (Sandbox Code Playgroud)
这个想法是将每个包含传递给方法.