我写了一个小的"懒矢量"类(或延迟矢量),它应该看起来像一个std::vector可用的地方std::vector,但它可以加载它的元素"懒惰",即它将加载元素n(可能还有一些)每当有人访问元素时从磁盘n.(原因是在我的应用程序中,并非所有元素都适合内存.)
这是这个LazyVector类,但是const使用这样一个向量的成员函数存在问题,见下文.
template<class T>
class LazyVector {
std::vector<T> elems_;
void fetchElem(unsigned n){
// load the n-th elem from disk into elems_ etc
}
public:
const T& operator[](unsigned n) const {
fetchElem(n); // ERROR: ... discards qualifiers
return elems_[n];
}
T& operator[](unsigned n) {
fetchElem(n);
return elems_[n];
}
// and provide some other std::vector functions
};
Run Code Online (Sandbox Code Playgroud)
正如我所说,当一个const成员函数要求一个元素时,会出现问题LazyVector.根据性质LazyVector,访问元素不是 const,即它将改变vec下面的向量,这在此上下文中是被禁止的.该foo …
我在使用特定的代码时遇到了一些问题,如果有人能够就此问题启发我,我将非常感激,我已经在以下示例中将问题排除在外:
#include <iostream>
using namespace std;
class testing{
int test();
int test1(const testing& test2);
};
int testing::test(){
return 1;
}
int testing::test1(const testing& test2){
test2.test();
return 1;
}
Run Code Online (Sandbox Code Playgroud)
那么可能导致以下错误:
test.cpp:15:错误:将'const testing'作为'int testing :: test()'的'this'参数传递,丢弃限定符
非常感谢!
我创建了名为style.php的css页面并将其包含在顶部:
<?php header("Content-type: text/css"); ?>
这会让你畏缩吗?这是一个糟糕的主意吗?我这样做是因为我创建了一个CMS,允许管理员控制页面上的颜色(因此style.php脚本查询数据库并获取十六进制值).
有什么想法吗?
我有一个SQL Server 2008表,其中包含一个geography数据类型的列.该值是一个点(纬度和经度).
如何查询表以返回位置在给定坐标的10公里半径范围内的所有行?
有没有办法使用py2exe或其他方法生成DLL文件而不是exe文件?
我想基本上创建一个普通函数的正常win32 dll,但这些函数将用python而不是c ++编码.
我正在使用带有facelets的JSF,我需要在JSF页面中获取请求和会话参数.在JSP页面中,我得到了这样的参数:"${requestScope.paramName}"或"${sessionScope.paramName}".但是现在使用JSF之后只有bean,除了bean属性之外你无法获得任何值.
注意:会话属性我需要使用acegi安全性自动填充,因此我无法访问它们.
那现在该怎么办?
我知道根据C++标准,如果新的无法分配内存,它应该抛出std :: bad_alloc异常.但我听说有些编译器如VC6(或CRT实现?)不遵守它.这是真的 ?我问这个是因为在每个新语句之后检查NULL会使代码看起来非常难看.
我有以下代码:
#include <iostream>
using namespace std;
class testing{
int test() const;
int test1(const testing& test2);
};
int testing::test() const{
return 1;
}
int testing::test1(const testing& test2){
test2.test();
return 1;
}
Run Code Online (Sandbox Code Playgroud)
编译后,它给我以下错误:
Undefined symbols:
"_main", referenced from:
start in crt1.10.5.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Run Code Online (Sandbox Code Playgroud)
为什么抱怨主?我不能在另一个文件中声明main并包含这个吗?
非常感谢!
我想在XML中有两种主要的日期表示方法:
<date>1984-10-27</date>
Run Code Online (Sandbox Code Playgroud)
和
<date>
<year>1984</year>
<month>10</month>
<day>27</day>
</date>
Run Code Online (Sandbox Code Playgroud)
就个人而言,我会选择前者.它更紧凑,同时更具可读性.第二种形式的分裂对我来说似乎有些过分; 例如,大多数时候月份本身没有信息价值.
此外,您无法独立验证<day>这样的元素:您可以定义[1..31]的范围,但如果<month>为2,则不能接受31.
另一方面,第一种形式可能会引起混淆,特别是如果你使用(FFF)MM-DD-YYYY或DD-MM-YYYY.我总是使用ISO 8601格式(YYYY-MM-DD),因为它避免了这种混淆.
您更喜欢哪种XML代码?
我能够重载该print函数并从内部调用正常函数吗?我想要做的是在我要print调用的特定行之后print调用普通行print并将副本写入文件.
另外我不知道怎么超载print.我不知道如何做变长参数.我很快就会查看,但是 重载打印python告诉我,我不能print在2.x中超载,这就是我正在使用的.
c++ ×4
const ×2
python ×2
css ×1
date ×1
dll ×1
facelets ×1
geography ×1
jsf ×1
lazy-loading ×1
new-operator ×1
overloading ×1
php ×1
printing ×1
py2exe ×1
request ×1
session ×1
vector ×1
visual-c++ ×1
visual-c++-6 ×1
windows ×1
xml ×1