我使用列表将城市放入旅行中.然后我遍历列表以显示行程路线.我想通过名称而不是旅行订单访问城市.所以,我认为我可以使用地图而不是列表,但密钥决定了顺序.我仍然想控制序列的顺序,但能够通过键访问条目.
这些功能可以结合起来吗?有没有一些标准的方法来解决这个问题?
#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) 使用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 .生成了目录列表页面,所有结果也未在警告框中
生成目录列表.
Perl代码片段:
my $export = $doc;
$export =~ s:\.odt:\.pdf:;
Run Code Online (Sandbox Code Playgroud)
怎么会写得更干净?不仅仅是其他900种编写方式TMTOWTDI.
此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做了什么不同导致这种情况?
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) #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没有兴趣。
c++ ×2
perl ×2
c ×1
c++11 ×1
code-cleanup ×1
constructor ×1
containers ×1
firefox3.5 ×1
jquery ×1
kotlin ×1
linux ×1
regex ×1
stl ×1