我们是否可以开始为即将推出的Windows Mobile 7开发应用程序.我们必须为此购买视觉工作室计划吗?
看来关于C++ 0x的rvalues的主要建议是添加移动构造函数并将运算符移动到类中,直到编译器默认实现它们.
但是如果使用VC10,等待是一种失败的策略,因为自动生成可能不会在VC10 SP1之前,或者在最坏的情况下,VC11.可能,等待这个将是多年来衡量.
这就是我的问题.编写所有这些重复的代码并不好玩.这看起来很不愉快.但对于那些认为很慢的课程来说,这是一个很受欢迎的负担.对于数百个(如果不是数千个)较小的类而言,情况并非如此.
::叹气:: C++ 0x应该让我写更少的代码,而不是更多!
然后我有了一个想法.很多人都愿意共享,我猜.
为什么不按价值传递一切?不会std :: move + copy elision使这几乎达到最佳状态吗?
OurClass::OurClass(const SomeClass& obj) : obj(obj) {}
SomeClass o;
OurClass(o); // single copy
OurClass(std::move(o)); // single copy
OurClass(SomeClass()); // single copy
Run Code Online (Sandbox Code Playgroud)
缺点: rvalues的浪费副本.
OurClass::OurClass(const SomeClass& obj) : obj(obj) {}
OurClass::OurClass(SomeClass&& obj) : obj(std::move(obj)) {}
SomeClass o;
OurClass(o); // single copy
OurClass(std::move(o)); // zero copies, one move
OurClass(SomeClass()); // zero copies, one move
Run Code Online (Sandbox Code Playgroud)
优点:大概是最快的.
缺点:很多代码!
我学会了如何使用比较器,但我对比较器有困难.我的代码中有错误:
Exception in thread "main" java.lang.ClassCastException: New.People cannot be cast to java.lang.Comparable
at java.util.Arrays.mergeSort(Unknown Source)
at java.util.Arrays.sort(Unknown Source)
at java.util.Collections.sort(Unknown Source)
at New.TestPeople.main(TestPeople.java:18)
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import java.util.Comparator;
public class People implements Comparator {
private int id;
private String info;
private double price;
public People(int newid, String newinfo, double newprice) {
setid(newid);
setinfo(newinfo);
setprice(newprice);
}
public int getid() {
return id;
}
public void setid(int id) {
this.id = id;
}
public String getinfo() {
return info;
}
public void setinfo(String info) …Run Code Online (Sandbox Code Playgroud) 这是我的简化模型:
class Item(models.Model):
pass
class TrackingPoint(models.Model):
item = models.ForeignKey(Item)
created = models.DateField()
data = models.IntegerField()
class Meta:
unique_together = ('item', 'created')
Run Code Online (Sandbox Code Playgroud)
在我的应用程序的许多部分中,我需要检索一组Item并使用data字段TrackingPoint排序的每个项目中的最新字段来注释每个项目created.例如,i1类的实例Item有3个TrackingPoint:
tp1 = TrackingPoint(item=i1, created=date(2010,5,15), data=23)
tp2 = TrackingPoint(item=i1, created=date(2010,5,14), data=21)
tp3 = TrackingPoint(item=i1, created=date(2010,5,12), data=120)
Run Code Online (Sandbox Code Playgroud)
我需要一个查询来检索i1带有tp1.data字段值注释的实例,这tp1是按created字段排序的最新跟踪点.那个查询也应该返回Item没有任何问题TrackingPoint的查询.如果可能的话我不喜欢使用QuerySet的extra方法来做到这一点.
这就是我到目前为止所尝试的......并且失败了:(
Item.objects.annotate(max_created=Max('trackingpoint__created'),
data=Avg('trackingpoint__data')).filter(trackingpoint__created=F('max_created'))
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
奇怪的问题,但在这里.现代语言"自动化"的编程概念是什么?我的意思是你以前手动做的概念.这是一个例子:我刚读过C语言,你手动进行垃圾收集; 然而,对于"现代"语言,编译器/解释器/语言本身会处理它.你知道其他什么,或者还没有?
我有一个相当简单的C++项目,它使用boost :: regex库.我得到的输出是3.5Mb.据我所知,我静态链接所有boost .CPP文件,包括所有函数/方法.也许有可能以某种方式指示我的链接器只使用boost中的必要元素,而不是所有元素?谢谢.
$ c++ —version
i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659)
Run Code Online (Sandbox Code Playgroud)
这size就是说:
$ size a.out
__TEXT __DATA __OBJC others dec hex
1556480 69632 0 4296504912 4298131024 100304650
Run Code Online (Sandbox Code Playgroud)
我试过了strip:
$ ls -al
... 3946688 May 21 13:20 a.out
$ strip a.out
$ ls -al
... 3847248 May 21 13:20 a.out
Run Code Online (Sandbox Code Playgroud)
PS.这就是我的代码组织方式(也许这是问题的主要原因):
// file MyClass.h
class MyClass {
void f();
};
#include "MyClassImpl.h"
// file MyClassImpl.h
void MyClass::f() {
// implementation...
}
// file main.cpp …Run Code Online (Sandbox Code Playgroud) 我想命名我的css文件mystyles.php.其中的所有内容仍然是css.我想在index.php不使用标准HTML <link>标记的情况下将其包含在我的页面中.任何方向都会非常感激.
我有一个Visual Studio项目,它使用解决方案文件来构建它.我想生成一个makefile,以便我可以使用makefile而不是解决方案文件来构建它.(我之所以需要这样做是因为你想知道我将我的项目整合到一个使用makefile构建的更大的软件系统中,我希望能够使用makefile构建整个东西.)
有没有办法从Visual Studio解决方案中自动获取信息并将其转换为makefile格式,还是需要手动执行此操作?
我必须为小型企业开发一个新的(桌面)应用程序.此业务目前具有包含数百万条记录的Access数据库.文件大小约为1.5 GB.老板告诉我,在这个数据库上搜索非常慢.数据库由一个包含大约20个字段的表组成.
我也认为整体数据库设计不是很好.我想使用另一个带有新设计的数据库服务器来提高性能和效率.
考虑到这是一个相对较小的业务,我不想花太多钱购买数据库许可证,所以我想问你会做什么.