像许多人一样,我一直在尝试C + 11带来的不同功能.我最喜欢的一个是"基于范围的循环".
我明白那个:
for(Type& v : a) { ... }
Run Code Online (Sandbox Code Playgroud)
相当于:
for(auto iv = begin(a); iv != end(a); ++iv)
{
Type& v = *iv;
...
}
Run Code Online (Sandbox Code Playgroud)
而这begin()
只是返回a.begin()
标准容器.
但是,如果我想让我的自定义类型"基于范围的循环" - 意识到什么?
如果我只是专注begin()
和end()
?
如果我的自定义类型属于命名空间xml
,我应该定义xml::begin()
还是std::begin()
?
简而言之,这样做的准则是什么?
有没有办法可以配置Visual Studio 2008来理解CamelCase? 具体来说,我希望能够获取ctrl + right
或left
光标将我带到变量或类型名称的子部分.
即,如果我的光标位于此行的开头:
LongNamedExampleClass longNamed = new LongNamedExampleClass();
Run Code Online (Sandbox Code Playgroud)
我点击了ctrl + right
,我想跳到Named
类名中的" ",而不是变量名的开头.如果我再次点击它,我想去" Example
".我希望这是有道理的...
我在日食中使用了这个导航功能,发现很难忘掉那些根深蒂固的东西.
我尝试为Emacs的Windows安装寻找.emacs文件,但我找不到它.Windows下的文件名与Unix中的文件名相同吗?
我必须自己创建吗?如果是这样,它在什么特定的目录下去了?
我对Emacs相当新,我一直试图弄清楚如何C-x C-f在启动时更改默认文件夹.例如,当我第一次加载Emacs并点击C-x C-f其默认文件夹时C:\emacs\emacs-21.3\bin
,我宁愿它是桌面.我相信有一些方法来定制.emacs
文件来做到这一点,但我仍然不确定那是什么.
更新:我发现有三种解决方案可以解决,但我认为解决方案3只适用于Windows.
解决方案1:添加(cd "C:/Users/Name/Desktop")
到.emacs
文件中
解决方案2:添加(setq default-directory "C:/Documents and Settings/USER_NAME/Desktop/")
到.emacs
文件中
解决方案3:右键单击Emacs快捷方式,点击属性并将字段中的开始更改为所需目录.
我有一个应用程序,它通过JavaScriptCore在webkit-gtk浏览器中扩展JavaScript.现在我有几个类,我添加到全局上下文,如下所示:
void create_js(gpointer context, char* className, JSClassDefinition clasDefinition) {
JSClassRef classDef = JSClassCreate(&clasDefinition);
JSObjectRef classObj = JSObjectMake(context, classDef, context);
JSObjectRef globalObj = JSContextGetGlobalObject(context);
JSStringRef str = JSStringCreateWithUTF8CString(className);
JSObjectSetProperty(context, globalObj, str, classObj, kJSPropertyAttributeNone, NULL);
JSStringRelease(str);
}
Run Code Online (Sandbox Code Playgroud)
现在,我还想将这些类添加到WebWorker的上下文中,因此我可以从JS中实例化的worker中调用它们.
我试过Worker
这样的对象:
JSStringRef workerStr = JSStringCreateWithUTF8CString("Worker");
JSObjectRef worker = JSObjectGetProperty(context, globalObj, workerStr, NULL);
JSObjectSetProperty(context, worker, str, classObj, kJSPropertyAttributeNone, NULL);
JSStringRelease(workerStr);
Run Code Online (Sandbox Code Playgroud)
但是这会将它添加到WorkerConstructor
对象中,并且当new Worker()
调用a时,这些类不可用.
我紧张地阅读Visual Studio 2012的源代码编辑器中的选项卡.我甚至不明白不同颜色的含义是什么?他们似乎完全随机.黑色棕色或黑色蓝色....谁选择那个?
所以我想关闭标签的颜色并恢复为白色或浅灰色的黑色.
我查了一下:
选项>>环境(通用/字体和颜色)
但我看不出任何相关的东西.那我该怎么办呢?
customization visual-studio productivity-power-tools visual-studio-2012
通常当我使用VS Code时,我在新文档上做的第一件事就是命令:"Toggle Word Wrap"或Alt+ Z.我尝试查看用户设置,但我没有找到任何相关条目.是否有某种方法可以默认为每个文档打包文本?
是否可以在Android中创建一个具有图像但没有文本的切换按钮?理想情况下它看起来像这样:
我看过类似的帖子,答案是改变背景,但我想保留Holo Light布局,只需将文本与图像交换.
我需要能够以编程方式改变图像源,
任何想法我会如何做到这一点?
如果不能这样做,有没有办法可以打开和关闭普通按钮?
我一直在调查,因为我认为花一些时间来学习定制Bootstrap的最佳实践是值得的.
我可以看到有一个友好的页面可以从http://twitter.github.io/bootstrap/customize.html中有选择地自定义元素,但是我希望在不触及原始引导源文件的情况下获得更多的控制权.
首先,我基本上想测试将网格从12列更改为16列,为此,我创建了自己的变量less文件并添加了@gridColumns:16; 仅对此文件并在bootstrap.less中导入此自定义较少,如下所示.
// Core variables and mixins
@import "variables.less"; // Modify this for custom colors, font-sizes, etc
@import "mixins.less";
**@import "../custom-variables.less"; //Override variables**
Run Code Online (Sandbox Code Playgroud)
然后,使用WinLess编译bootstrap.less文件以获取带有重写变量导入调用的新bootstrap.css,并将css与html文件链接,但网格不会更改为16列.
任何人都可以指出我做错了什么?
customization ×10
emacs ×2
android ×1
c++ ×1
c++11 ×1
directory ×1
for-loop ×1
javascript ×1
less ×1
path ×1
r ×1
rprofile ×1
terminal ×1
togglebutton ×1
variables ×1
web-worker ×1
webkit ×1
winapi ×1
windows ×1