小编Gra*_*ent的帖子

Matlab,找到最小值的索引,条件是它必须是负数

在给定的数组中,我需要找到数组中最小值的索引,但前提是它是负数.

例如:[1, 2, 3, 4]将不返回任何索引

[1, 4, -7, -2]会回来3

我在想这个find()命令一定很简单,但我无法弄清楚如何在这种情况下使用它.

arrays matlab find min

3
推荐指数
1
解决办法
7341
查看次数

检查字符是否在字符串中

在Common Lisp中,是否有一个谓词来测试给定字符是否是字符串的一部分?或者更一般地说,如果元素是向量的成员?

就像是:

(char-in #\o "foo")
Run Code Online (Sandbox Code Playgroud)

我能够实现它

(defun char-in (c s)
  (member c (coerce s 'list)))
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

common-lisp

3
推荐指数
1
解决办法
338
查看次数

std :: vector <Bar>作为类Foo中的成员变量需要Bar的空构造函数

情况如下:

我有一个由以下文件定义的类.

Foo.h文件:

template<typename MyType>
class Foo
{
public:
    Foo(int number = 50);

private:
    typedef enum {VAR1, VAR2} Type;

    class Bar
    {
        MyType a;
        Type b;

        Bar(int param1, Type param2) : a(param1), b(param2) {}
    }

    std::vector<Bar> vec;
};
Run Code Online (Sandbox Code Playgroud)

Foo.cpp文件:

template<typename MyType>
Foo::Foo(int number) : vec(number)
{ }
Run Code Online (Sandbox Code Playgroud)

问题是当我编译它时,我在.cpp文件的第一行收到错误,说它需要一个没有参数的Bar的构造函数.我想它需要它在Foo中创建矢量.我为Bar添加了一个没有参数的构造函数,给出了以下.h文件:

template<typename MyType>
class Foo
{
public:
    Foo(int number = 50);

private:
    typedef enum {VAR1, VAR2} Type;

    class Bar
    {
        MyType a;
        Type b;

        Bar() {}   // <----  Line added
        Bar(int param1, Type …
Run Code Online (Sandbox Code Playgroud)

c++ enums class vector nested-class

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

`values` 在 Scheme 中是如何工作的?

来自 R5RS 标准:

Values might be defined as follows:
(define (values . things)
  (call-with-current-continuation
    (lambda (cont) (apply cont things))))
Run Code Online (Sandbox Code Playgroud)

我对此的第一个解释是像这样的表达式(+ (values 1 2))等价于(apply + '(1 2))并且会产生结果3。但是,根据我的测试,这种解释是不正确的。这是我对上面代码的解释:values是一个带有任意数量参数的函数,捆绑到一个名为things. 然后,values使用things“未捆绑”列表调用当前的延续(使用的地方)。

我错过了什么?上面的示例(+ (values 1 2))根据我使用的解释器给出了错误或 1。

lisp scheme callcc apply r5rs

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

C#中允许O(1)反向的数据结构

我有一些列表需要迭代,有时从头到尾,有时从头到尾。此列表从未修改过,我将对其进行多次遍历。当我要从头到尾进行迭代时,我想避免在O(n)中反转列表的操作。

是否有某种允许的数据结构?

我以为C#中的(双重)LinkedList实现允许这种行为很简单(通过保留列表开头的内部引用),但是我不认为它是通过这种方式实现的。如果我错了,可以提供一个链接吗?

c# reverse list data-structures

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

你如何防止名字在C中发生碰撞

假设我有两个文件:stack.h和queue.h.两者都想实现add()函数.例如,如果我在同一个main.c中包含stack.h和queue.h,则会发生冲突.

在两个文件中实现add()函数的推荐方法是什么?

c namespaces collision

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