小编CW *_* II的帖子

像列表一样订购但是通过密钥访问?

我使用列表将城市放入旅行中.然后我遍历列表以显示行程路线.我想通过名称而不是旅行订单访问城市.所以,我认为我可以使用地图而不是列表,但密钥决定了顺序.我仍然想控制序列的顺序,但能够通过键访问条目.

这些功能可以结合起来吗?有没有一些标准的方法来解决这个问题?

#include <list>
#include <iostream>
struct City{
   City(std::string a_n, int a_d):name(a_n), duration(a_d){}
   std::string name;
   int duration;
};
int main(){
    std::list<City*> trip;
    trip.push_back(new City("NY", 5));
    trip.push_back(new City("LA", 2));
    for (std::list<City*>::iterator ii=trip.begin(); ii!=trip.end(); ++ii)
        std::cout << (*ii)->name << " for " << (*ii)->duration << " days." <<std::endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ containers stl

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

如何使用jQuery .ajax()读取目录?

使用jQuery .ajax()阅读" ./ex.html第一警告框"返回文件的预期内容.使用相同的调用只需将请求更改为" ./",就不会在第二个警告框中返回预期的目录列表.

<html>
<head>
</head>
<body>
<script type="text/JavaScript" src="jquery.js"></script>
<script type="text/JavaScript">
    alert($.ajax({type: "GET", url: 'ex.html', async: false}).responseText);
    alert($.ajax({type: "GET", url: '.',       async: false}).responseText);
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

直接访问文件时:$ firefox ex.html结果如上所述. $ firefox .显示:

文件索引:/// home/cwhii/work/jq/ex

到更高级别的目录

名称大小上次修改

ex.html 1 KB 03/24/2010 10:29:37 PM

jquery.js 161 KB 03/17/2010 05:16:58 PM

然后单击该ex.html链接将在第一个警报框中生成预期的文件内容,并在第二个警告框中生成目录列表.

总之,在命令行上使用文件名调用firefox不会生成目录列表,但是当通过目录页面上的链接导航到同一文件时,第二个警告框会显示列表.

此外,我以上述所有方式调用了Google Chrome浏览器5.0.307.11测试版,并且即使$ google-chrome .生成了目录列表页面,所有结果也未在警告框中 生成目录列表.

linux jquery google-chrome firefox3.5

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

清理Perl代码:my $ export = $ doc; $ export = ~s:\.odt:\.pdf:;

Perl代码片段:

my $export = $doc;
$export =~ s:\.odt:\.pdf:;
Run Code Online (Sandbox Code Playgroud)

怎么会写得更干净?不仅仅是其他900种编写方式TMTOWTDI.

regex perl code-cleanup

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

C:f> 0 vs Perl:$ f> 0?

此C代码显示斐波那契数字:

#include <stdio.h>
int main(){
   for (long long int t, i=1, p=1, f=2; f>0 ; i++, t=f, f+=p, p=t)
      printf("%lli: %lli\n", i, f); 
   }
Run Code Online (Sandbox Code Playgroud)

按照预期,它不需要硬编码迭代次数就会停止.

Perl中的代码试图使用相同的技术:

my $t;
my $p=1;
my $f=2;
for ($i=1; $f>0; $t=$f, $f+=$p, $p=$t, $i++){
   printf("%i: %i\n", $i, $f);
   if ($i>50){exit;}
   }
Run Code Online (Sandbox Code Playgroud)

但它并没有像预期的那样停止,当额外支票开始时价值在45而不是51时溢出.

44: 1836311903
45: -1323752223
46: -1
47: -1
48: -1
49: -1
50: -1
51: -1
Run Code Online (Sandbox Code Playgroud)

Perl做了什么不同导致这种情况?

c perl

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

如何/应该隐藏C++静态成员变量和函数?

m_MAX和ask()由run()使用,但不应该是公共的.怎么能/应该这样做?

#include <vector>
class Q {
public:
    static int const m_MAX=17;
    int ask(){return 4;}
};
class UI {
private:
    std::vector<Q*> m_list;
public:
    void add(Q* a_q){m_list.push_back(a_q);}
    int run(){return Q::m_MAX==m_list[0]->ask();}
};
int main()
{
    UI ui;
    ui.add(new Q);
    ui.add(new Q);
    int status = ui.run();
}
Run Code Online (Sandbox Code Playgroud)

c++ encapsulation c++11

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

为什么要使用Kotlin随播对象而不是初始化程序块进行创建?

#37 Kotlin教程| 随播对象| 工厂模式表示,创建复杂的类时可以使用Kotlin伴随对象。

随播对象|  工厂模式

Kotlin主构造器和初始化器块显示了如何在类中使用Kotlin初始化器块。

fun main(args: Array<String>) {
    val person1 = Person("joe", 25)
}
class Person(fName: String, personAge: Int) {
    val firstName: String
    var age: Int
    // initializer block
    init {
        firstName = fName.capitalize()
        age = personAge
        println("First Name = $firstName")
        println("Age = $age")
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么要使用伴随对象而不是初始化程序块来执行此操作?

关于这个问题,我对Java没有兴趣。

constructor kotlin

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