在C++中是否有一种方法可以创建一个匿名命名空间,并且只从中导出一个函数?
我想要的东西:
namespace {
void Bar() {}
void Foo() { Bar(); }
}
Run Code Online (Sandbox Code Playgroud)
现在,我想以某种方式访问,Foo()但确保没有办法触摸Bar()
谢谢!
在MVP模式中,Presenter具有View接口,因此演示者可以调用iview.DoSomething()..在MVVM模式中怎么样?
根据John Gossman的UML图http://blogs.msdn.com/johngossman/archive/2006/04/13/576163.aspx,ViewModel没有View的界面.因此,看起来应该只通过Binding传递ViewModel和View.(或使用附属物或混合行为等).
你们有什么感想?
我有Eclipse生成的以下代码(.java文件).
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Display;
public class HelloWorldSWT {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Hello world!");
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想从命令行编译上面的文件.我去了源代码所在的目录,我尝试了两个命令:
1.javac HelloWorldSWT.java
2. javac -d/home/myname/workspace/HelloWorldSWT.java
在这两种情况下,我都有相同的错误"导入org.eclipse无法解决"./ home/myname/workspace/ - 是类文件所在的目录.
据我所知,编译器没有看到org.eclipse.swt包.为什么?
是不是因为有问题的软件包位于"/home/myname/workspace/org.eclipse.swt/"(不在"/ home/myname/workspace/org/eclipse/swt /"中)?
我看到这些可以互换使用.有什么不同?
我正在使用字符串构建器作为日志记录过程的一部分.我使用的分隔符是"".如何以比""更有效的方式输出此char.
例如:
sb.Append(" ");
Run Code Online (Sandbox Code Playgroud)
或者这是可以接受的方式吗?
提前致谢
我是libhistory的新手,因此我正在看readline库中找到的示例。使用以下命令在命令提示符下进行编译:
gcc -o ./a.out /usr/local/share/readline/histexamp.c -lreadline -L/usr/local/lib/Run Code Online (Sandbox Code Playgroud)它编译并维护历史。
然后用相同的文件创建一个xcode项目,并链接到readline库,它可以正常编译。但是当我运行时,它不会保留历史记录,而在枚举历史记录条目时会崩溃。经过一些试验后,我发现-isysroot参数是导致此问题的原因:
-isysroot /Developer/SDKs/MacOSX10.6.sdkRun Code Online (Sandbox Code Playgroud) gcc手册页上说isysroot类似于--sysroot选项,但仅适用于头文件。
为什么同一程序在此选项下的行为有所不同?
根据XML规范,这是一个空元素的定义:
没有内容的元素被认为是空的.]空元素的表示是紧跟在结束标记之后的开始标记,或者是空元素标记.
(见:http://www.w3.org/TR/REC-xml/#NT-content)
现在,我对理解空元素标签没有任何问题:<i-am-empty/>并且不存在任何误解.但在我看来,标准在另一种情况下自相矛盾:一方面,它表示任何不带标签content都是空的,另一方面它表示这可以用一个开始标记表示,然后立即结束 -标签.但是如果我们看一下这个定义content:
[43] content ::= CharData? ((element | Reference | CDSect | PI | Comment) CharData?)*
Run Code Online (Sandbox Code Playgroud)
在我看来,它content由两个可选部分CharData?和一个组组成()*.但由于这两个部分都是可选的,因此它意味着没有任何东西(如没有字符)与此产品相匹配.因此,如果我试图将这个内容的定义与内部的任何内容相匹配,<am-i-empty-or-not></am-i-empty-or-not>我将获得积极的匹配.所以,一方面这是一个空标签,因为它是"一个开始标签后紧跟一个结束标签",另一方面它不是空的,因为在标签之间我可以积极地匹配生产规则的定义[对于内容,在这种情况下它包含内容,这意味着它不能为空.
任何人都能解释哪些规则优先吗?有没有人知道任何对此有不同意见的DOM或解析器实现?
我在一个月前创建了一个分支类型,但由于某种原因推迟到现在使用它.但是现在我对分支名称只有一个模糊的记忆,但不是很确定.所以我想知道clearcase是否具有列出由一个人创建的所有分支类型的功能,在我的情况下只是我,然后我可以找到我在一个月前创建的分支类型的确切名称.需要你的帮助,提前谢谢.