小编Sco*_*e T的帖子

为什么使用未命名的命名空间以及它们有什么好处?

我刚刚加入了一个新的C++软件项目,我正在尝试理解这个设计.该项目经常使用未命名的命名空间.例如,类定义文件中可能会出现这样的情况:

// newusertype.cc
namespace {
  const int SIZE_OF_ARRAY_X;
  const int SIZE_OF_ARRAY_Y;
  bool getState(userType*,otherUserType*);
}

newusertype::newusertype(...) {...
Run Code Online (Sandbox Code Playgroud)

可能导致使用未命名的命名空间的设计注意事项是什么?有哪些优点和缺点?

c++ oop namespaces

220
推荐指数
6
解决办法
11万
查看次数

我应该使用什么Linux shell?

我用过bash,csh和tcsh.但我问了这个问题,Jonathan告诉我csh不值得信任.那么Linux shell有利于开发.为什么?

linux shell

56
推荐指数
8
解决办法
6万
查看次数

iPhone应用程序名称可用性

有没有办法检查是否可以使用iphone应用程序名称?如果在iTunes上搜索并检查是否已有现有应用程序,是否可以指示iphone应用程序名称是否可用?

iphone naming

37
推荐指数
1
解决办法
2万
查看次数

线程与并行,它们有何不同?

线程和并行之间有什么区别?

哪一个优于另一个?

parallel-processing multithreading

36
推荐指数
6
解决办法
3万
查看次数

我的蚂蚁配置有什么问题?

我使用yum在Fedora 5机器上安装了Ant,但Ant没有启动.我收到此错误消息:

[bash]# ant
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Launcher
Caused by: java.lang.ClassNotFoundException: org.apache.tools.ant.launch.Launcher
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.tools.ant.launch.Launcher.  Program will exit.
Run Code Online (Sandbox Code Playgroud)

我设置了以下环境变量:

JAVA_HOME = /usr/java/latest
ANT_HOME = /usr/bin
Run Code Online (Sandbox Code Playgroud)

Ant安装在/usr/bin/ant.

我也遇到过这篇文章,似乎JAVAVER_LIBDIR变量并没有指向存在的东西.我设置了一个符号链接,就像帖子建议为作者清除了问题,但它并没有为我解决问题.

[bash]# sudo ln -s /usr/share/java /usr/share/java-1.6.0
Run Code Online (Sandbox Code Playgroud)

编辑:我还设置了一个符号链接,解决了JAVAVER_JNIDIR变量的类似问题:

[bash]# sudo ln -s /usr/lib/java /usr/lib/java-1.6.0
Run Code Online (Sandbox Code Playgroud)

我现在得到一个不同的错误消息:

[bash]# ant --execdebug
/usr/bin/build-classpath: error: Could not find jaxp_parser_impl Java extension …
Run Code Online (Sandbox Code Playgroud)

ant fedora

30
推荐指数
4
解决办法
5万
查看次数

一种生成正半定矩阵的简单算法

我想生成正随机半定矩阵.我正在寻找算法或更优选地用C,matlab,java或任何语言的算法的简单实现.

algorithm math matrix

26
推荐指数
4
解决办法
4万
查看次数

如何使用F#(sharp)?

我无法放置微软推出的F#语言的概念和可能性.

F#仅用于声明函数吗?或者通过将F#与普通的C#或VB代码混合在一起,将应用程序"完全"写入F#中?

.net f#

26
推荐指数
4
解决办法
9415
查看次数

MATLAB环境调整

您如何调整MATLAB环境以更好地满足您的需求?每个答案一个调整.

matlab customization development-environment

15
推荐指数
5
解决办法
3384
查看次数

什么是C++构造"放置新"的用途?

我刚刚学习了名为"placement new"的C++结构.它允许您精确控制指针指向内存的位置.它看起来像这样:

 #include <new>        // Must #include this to use "placement new"
 #include "Fred.h"     // Declaration of class Fred

 void someCode()
 {
   char memory[sizeof(Fred)];
   void* place = memory;

   Fred* f = new(place) Fred();   // Create a pointer to a Fred(),
                                  // stored at "place"

   // The pointers f and place will be equal

   ...
 } 
Run Code Online (Sandbox Code Playgroud)

(来自C++ FAQ Lite的

例子)在这个例子中,thisFred 的指针将等于place.


我已经看到它在我们团队的代码中使用过一次或两次.根据您的经验,这个构造能够实现什么?其他指针语言是否有类似的结构?对我来说,它似乎让人联想equivalence到FORTRAN,它允许不同的变量占据内存中的相同位置.

c++ memory placement-new equivalence new-operator

13
推荐指数
6
解决办法
5064
查看次数

如何确定两个凸多边形是否相交?

假设平面上有许多凸多边形,也许是地图.这些多边形可以相互碰撞并共享边缘,但不能重叠.

替代文字

为了测试两个多边形PQ是否重叠,首先我可以测试P中的每个边缘以查看它是否与Q中的任何边相交.如果找到了交叉点,我声明PQ相交.如果没有相交,那么我必须测试P完全被Q包含的情况,反之亦然.接下来,有P == Q的情况.最后,情况是共享一些边缘,但不是全部.(最后两种情况可能被认为是相同的一般情况,但这可能并不重要.)

我有一个算法,可以检测两个线段相交的位置.如果这两个段是共线的,则不会认为它们与我的目的相交.

我是否正确列举了这些案例?有关这些案件的测试建议吗?

请注意,我不是要找到交叉的新凸多边形,我只想知道交叉是否存在.有许多记录良好的算法可以找到交集,但我不需要经过所有的努力.

geometry polygon convex

13
推荐指数
2
解决办法
3万
查看次数