问题列表 - 第5005页

设计一个懒惰的向量:const的问题

我写了一个小的"懒矢量"类(或延迟矢量),它应该看起来像一个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 …

c++ lazy-loading const vector

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

奇怪的C++错误:test.cpp:15:错误:将'const*'作为'*'的'this'参数传递丢弃限定符

我在使用特定的代码时遇到了一些问题,如果有人能够就此问题启发我,我将非常感激,我已经在以下示例中将问题排除在外:

#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'参数传递,丢弃限定符

非常感谢!

c++ compiler-errors const

43
推荐指数
2
解决办法
3万
查看次数

在css文档中使用php是一个坏主意吗?

我创建了名为style.php的css页面并将其包含在顶部:

<?php header("Content-type: text/css"); ?>

这会让你畏缩吗?这是一个糟糕的主意吗?我这样做是因为我创建了一个CMS,允许管理员控制页面上的颜色(因此style.php脚本查询数据库并获取十六进制值).

有什么想法吗?

css php

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

选择区域内的地理点

我有一个SQL Server 2008表,其中包含一个geography数据类型的列.该值是一个点(纬度和经度).

如何查询表以返回位置在给定坐标的10公里半径范围内的所有行?

geography sql-server-2008

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

py2exe生成dll?

有没有办法使用py2exe或其他方法生成DLL文件而不是exe文件?

我想基本上创建一个普通函数的正常win32 dll,但这些函数将用python而不是c ++编码.

python windows dll py2exe

13
推荐指数
2
解决办法
7763
查看次数

从JSF页面获取请求和会话参数和属性

我正在使用带有facelets的JSF,我需要在JSF页面中获取请求和会话参数.在JSP页面中,我得到了这样的参数:"${requestScope.paramName}""${sessionScope.paramName}".但是现在使用JSF之后只有bean,除了bean属性之外你无法获得任何值.

注意:会话属性我需要使用acegi安全性自动填充,因此我无法访问它们.

那现在该怎么办?

session jsf facelets request

53
推荐指数
6
解决办法
23万
查看次数

在任何情况下new都会返回NULL吗?

我知道根据C++标准,如果新的无法分配内存,它应该抛出std :: bad_alloc异常.但我听说有些编译器如VC6(或CRT实现?)不遵守它.这是真的 ?我问这个是因为在每个新语句之后检查NULL会使代码看起来非常难看.

c++ memory-management visual-c++-6 new-operator visual-c++

52
推荐指数
3
解决办法
4万
查看次数

编译错误:未定义的符号:"_ main",引自:crt1.10.5.o中的start

我有以下代码:

#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并包含这个吗?

非常感谢!

c++

17
推荐指数
1
解决办法
5万
查看次数

XML中的日期元素

我想在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代码?

xml date

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

重载打印python

我能够重载该print函数并从内部调用正常函数吗?我想要做的是在我要print调用的特定行之后print调用普通行print并将副本写入文件.

另外我不知道怎么超载print.我不知道如何做变长参数.我很快就会查看,但是 重载打印python告诉我,我不能print2.x中超载,这就是我正在使用的.

python printing overloading

45
推荐指数
6
解决办法
7万
查看次数