小编Fla*_*ame的帖子

批量查找文件扩展名

如果我使用以下方法迭代每个文件:

@echo off

FOR %%f IN (*\*.\**) DO (
    echo %%f
)
Run Code Online (Sandbox Code Playgroud)

我怎么能打印每个文件的扩展名?我尝试将%% f分配给临时变量,然后使用代码:echo "%t:~-3%"打印但没有成功.

windows dos batch-file

18
推荐指数
2
解决办法
5万
查看次数

如何在Eclipse App Android中包含其他javax.*包?

我在Android应用http://code.google.com/p/dalvik/wiki/JavaxPackages中看到了一篇关于包含其他javax.*软件包的文章 .

我想做同样的事情,但是使用Eclipse.谁能帮我弄明白怎么做?

eclipse android

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

懒惰参数评估

我正在将一些跟踪和调试代码添加到我正在重构的类中.

我有一个Trace具有一定的过滤属性和方法的对象bool CanTrace(Level, , TracePropertyList = no_additional_properties)bool Trace(Level, string, TracePropertyList = no_additional_properties).

代码中已经有很多地方使用了这个跟踪对象,并且该Trace方法的字符串参数通常是一些表达式,如果我不打算最终输出跟踪信息,我想避免评估.

重复一大堆代码

if(trace.CanTrace(LEVEL_INFO, some_props))
  trace.Trace(LEVEL_INFO, consume_time().to_str(), some_props);
Run Code Online (Sandbox Code Playgroud)

是丑陋的,我想要更短的东西.

我在考虑宏

#define TRACE_WITH_PROPS(LEVEL,STRING,PROPS) //...
Run Code Online (Sandbox Code Playgroud)

#define TRACE(LEVEL,STRING) //...
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗?可能使用模板或C++ 11?我不喜欢用编译器隐藏编译器中的东西,我正在尽力去除这个代码库中的其他地方的一些宏.

c++ c++11

12
推荐指数
2
解决办法
1808
查看次数

符号错误到字符串

是否有一个命令行工具,将采取符号错误,如EINVAL打印相应的字符串,Invalid argument

我想避免在我的系统上找到EINVAL值22然后使用$ perror 22.

理想情况下,我可以写一些像

$ errorcommand EINVAL
无效的参数
$

bash errno

10
推荐指数
2
解决办法
7618
查看次数

在.so库中使用C++类

我正在尝试为C++课程编写一个小类库.

我想知道是否有可能在我的共享对象中定义一组类,然后直接在我的主程序中使用它们来演示库.有任何技巧吗?我记得很久以前(在我开始编程之前)读过这个C++类只能用于MFC .dll而不是普通的,但这只是windows端.

c++ linux class-library

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

这个班级是否会有严格的弱序

说我有class/struct Foo

struct Foo {
    int a, b;
    bool operator< (Foo const& r){
        return a < r.a;
    }
    bool operator== (Foo const& r){
        return a==r.a&&b==r.b;
    }
};
Foo bar = { 5, 1 };
Foo baz = { 5, 2 };
Run Code Online (Sandbox Code Playgroud)

现在bar == baz是假的,但如此是bar < bazbaz < bar.

请注意,这里的排序完全忽略b但是b是平等关系的一部分.

c++ math stl

9
推荐指数
1
解决办法
345
查看次数

对Haskell中的一些元素进行二分查找

我正在尝试完成我的Haskell作业的最后一部分而且我被卡住了,我的代码到目前为止:

data Entry = Entry (String, String)

class Lexico a where
    (<!), (=!), (>!) :: a -> a -> Bool

instance Lexico Entry where
    Entry (a,_) <! Entry (b,_) = a <  b
    Entry (a,_) =! Entry (b,_) = a == b
    Entry (a,_) >! Entry (b,_) = a >  b

entries :: [(String, String)]
entries =  [("saves", "en vaut"), ("time", "temps"), ("in", "<`a>"),
              ("{", "{"), ("A", "Un"), ("}", "}"), ("stitch", "point"),
              ("nine.", "cent."), ("Zazie", "Zazie")]

build :: (String, String) …
Run Code Online (Sandbox Code Playgroud)

search haskell

6
推荐指数
1
解决办法
2458
查看次数

Git Hook:在分支推进时采取行动

我希望每次推进特定分支的提示时构建并发布乳胶文档.

我正在看我应该把我的构建脚本和我需要检查的条件挂钩.

git hook githooks

6
推荐指数
1
解决办法
3304
查看次数

在可移动和不可复制的类上使用移动和交换习惯是否有意义

如果我有一个类如

class Foo{
public:
    Foo(){...}
    Foo(Foo && rhs){...}
    operator=(Foo rhs){ swap(*this, rhs);}
    void swap(Foo &rhs);
private:
    Foo(const Foo&);
// snip: swap code
};
void swap(Foo& lhs, Foo& rhs);
Run Code Online (Sandbox Code Playgroud)

如果我没有复制构造函数,是否有意义实现operator = by value和swap?它应该防止复制我的类对象Foo但允许移动.

这个类是不可复制的,所以我不能复制构造或复制分配它.

编辑

我用这个测试了我的代码,它似乎有我想要的行为.

#include <utility>
#include <cstdlib>
using std::swap;
using std::move;
class Foo{
public: Foo():a(rand()),b(rand()) {}
        Foo(Foo && rhs):a(rhs.a), b(rhs.b){rhs.a=rhs.b=-1;}
        Foo& operator=(Foo rhs){swap(*this,rhs);return *this;}
        friend void swap(Foo& lhs, Foo& rhs){swap(lhs.a,rhs.a);swap(lhs.b,rhs.b);}
private:
    //My compiler doesn't yet implement deleted constructor
    Foo(const Foo&);
private:
    int a, b;
};

Foo …
Run Code Online (Sandbox Code Playgroud)

c++ rvalue-reference assignment-operator copy-and-swap c++11

5
推荐指数
1
解决办法
1829
查看次数

C++中的对象初始化和对象工厂

我对c ++开发和设计很陌生,因此我在问题上提前道歉是模糊或结构不合理.我的代码中有几个不同且不相关的层次结构,我想使用Alexandrescu描述和实现的通用工厂来实例化这些层次结构中的对象.
我遇到困难的部分是初始化阶段.这些类具有非常不同的初始化需求.有时,可以从存储(DB)中查找初始化所需的数据,在这种情况下,我可以将初始化过程封装在特定类的某些Init()方法中.但有时,数据只在本地知道实例化的时刻,需要手动传递给对象.我正在努力想出一个统一的方法来做到这一点.有没有人对接近这类问题有任何意见?谢谢

c++ design-patterns initialization factory-pattern

5
推荐指数
1
解决办法
944
查看次数