小编Yec*_*kiy的帖子

C#初始化列表 - 什么时候使用()运算符后的类名?

有时在类名后面指定初始化列表而不使用()运算符:

Cat cat = new Cat { Age = 10, Name = "Fluffy" }
Run Code Online (Sandbox Code Playgroud)

其他时候在()运算符后指定:

List<Cat> cats = new List<Cat>
    {
        new Cat(){ Name = "Sylvester", Age=8 }
    }
Run Code Online (Sandbox Code Playgroud)

我假设差异是因为这里新的Cat()在列表中.但我仍然不明白为什么它应该是不同的.那么为什么不同,何时使用哪种语法?

谢谢.

c# initializer-list

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

Clojure - map-indexed是否可以从0以外的索引开始?

通常,映射索引函数将每个列表项映射到相应的索引,其中第一个索引为0,第二个索引为1等.

是否有可能让索引从另一个数字开始并从那里开始?

clojure

5
推荐指数
3
解决办法
1449
查看次数

在命令提示符和IntelliJ IDEA中使用自定义jar库

我在使用命令提示符使用自定义jar库(来自http://algs4.cs.princeton.edu/home/的 algs4.jar/stdlib.jar )时遇到问题.我将库添加到IntelliJ类路径设置(项目结构 - > SDKs - >类路径),并且能够使用IntelliJ使用它们的类没有问题.

但是,我也希望能够在命令提示符中使用这些库.即使我在Windows设置中没有设置CLASSPATH变量,我也能够在cmd中使用javac/java,在使用标准java库时没有问题.(可能是因为IntelliJ为每个启动/编译的所有标准库设置CLASSPATH以在系统范围内工作).但是,即使将2个jar添加到IntelliJ类路径设置后,我也无法在cmd中使用"javac".然后我在Windows设置中创建了CLASSPATH变量,并将jar添加到它们中.在此之后,我能够使用javac进行编译,没有任何问题.但是,当我尝试在cmd中运行程序时,我得到了这个:

"错误:无法找到或加载主类".

每当我使用任何jar库(包括标准库)时,我都会遇到此错误,在设置Windows CLASSPATH之前我没有遇到任何问题.我想发生的事情是,一旦我设置了自己的CLASSPATH,这将覆盖由intelliJ设置的类路径.当我删除CLASSPATH时,我再次能够在cmd中编译和运行标准库,而不是2个自定义库.

请帮忙!

java cmd classpath intellij-idea

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

Clojure - 是否可以在doseq语句中增加变量?

我试图迭代给定目录中的文件列表,并将一个递增变量i = {1,2,3 .....}添加到它们的名称中.

这是我用于迭代文件和更改每个文件名称的代码:

(defn addCounterToExtIn [d]
  (def i 0)
  (doseq [f (.listFiles (file d)) ] ; make a sequence of all files in d
    (if (and (not (.isDirectory f)) ; if file is not a directry and
             (= '(\. \i \n) (take-last 3 (.getName f))) ) ; if it ends with .in
      (fs/rename f (str d '/ i (.getName f)))))) ; add i to start of its name
Run Code Online (Sandbox Code Playgroud)

我不知道我怎么可以增加idoseq通过每个文件进行迭代.或者,是否有更好的循环用于实现所需的结果?

clojure

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

C++无法让Pointers工作

我在使用C++中的指针时遇到问题,我无法弄清楚它是什么;

我有一个名为LectureNode的类:

class LectureNode
{
public:
Lecture *LecturePtr;

LectureNode(Lecture lec)
{
    LecturePtr = &lec;
}
};
Run Code Online (Sandbox Code Playgroud)

这个类的构造函数工作得很好.我有另一个班:

class LectureForest
{
LectureNode *LecNode;
list<Lecture>::iterator it;

public:
LectureForest(list<Lecture> lecs)
{
    Makeset(lecs);
}

void Makeset(list<Lecture> lecs)
{
    for(it = lecs.begin(); it != lecs.end(); it++)
    {
        LecNode = LectureNode(*it); 
    }
}
Run Code Online (Sandbox Code Playgroud)

问题发生在最后一行.(*it)传递给LectureNode构造函数,LectureNode成功创建,但是LecNode没有指向它,而是调试器说坏指针.

谢谢.

c++ pointers

0
推荐指数
1
解决办法
99
查看次数

标签 统计

clojure ×2

c# ×1

c++ ×1

classpath ×1

cmd ×1

initializer-list ×1

intellij-idea ×1

java ×1

pointers ×1