对于C++新手来说,允许const成员函数在类引用的对象(通过指针或引用)上调用非const方法通常会让人感到困惑.例如,以下内容完全正确:
class SomeClass
{
class SomeClassImpl;
SomeClassImpl * impl_; // PImpl idiom
public:
void const_method() const;
};
struct SomeClass::SomeClassImpl
{
void non_const_method() { /*modify data*/ }
};
void SomeClass::const_method() const
{
impl_->non_const_method(); //ok because impl_ is const, not *impl_
};
Run Code Online (Sandbox Code Playgroud)
但是,如果constness传播到尖头对象,它有时会非常方便(我自愿使用PImpl习语,因为它是我认为"constness传播"非常有用的情况之一).
使用指针时,可以通过使用某种智能指针轻松实现这一点,操作符在constness上重载:
template < typename T >
class const_propagating_ptr
{
public:
const_propagating_ptr( T * ptr ) : ptr_( ptr ) {}
T & operator*() { return *ptr_; }
T const & operator*() const { return *ptr_; }
T * operator->() …
Run Code Online (Sandbox Code Playgroud) 好吧,我可能想出一个更好的头衔,但不知道如何说出来让我解释一下.
假设我有一个包含"CODE"列的表格.我的表中的每条记录都有"A","B"或"C",因为它在"CODE"列中的值.我想要的是计算我有多少'A','B'和'C'.
我知道我可以用3个不同的查询完成这个,但我想知道是否有办法只用1来做到这一点.
在我的django应用程序中,我提供了一个允许用户上传文件的表单.该文件可以采用多种格式(Excel,CSV),来自各种平台(Mac,Linux,Windows),并以各种编码(ASCII,UTF-8)编码.
出于这个问题的目的,让我们假设我有一个正在接收的视图request.FILES['file']
,这是一个InMemoryUploadedFile
被调用的实例file
.我的问题是InMemoryUploadedFile
对象(如file
):
\xef\xbb\xbf
在文件的开头看到一个,据我所知是一个标志,意思是'这个文件是UTF-8').使问题复杂化的是我希望将文件传递给python csv
模块,该模块本身不支持Unicode.我很乐意接受避免这个问题的答案 - 一旦我让django玩UTF-8,我相信我可以大胆csv
地做同样的事情.(同样,请忽略支持Excel的要求 - 在解决Excel文件之前,我要等到CSV工作.)
我已经尝试使用StringIO
,mmap
,codec
,和任何的各种各样的在访问数据的方法InMemoryUploadedFile
的对象.每种方法都产生了不同的错误,到目前为止还没有一种是完美的.这显示了一些我认为最接近的代码:
import csv
import codecs
class CSVParser:
def __init__(self,file):
# 'file' is assumed to be an InMemoryUploadedFile object.
dialect = csv.Sniffer().sniff(codecs.EncodedFile(file,"utf-8").read(1024))
file.open() # seek to 0
self.reader = csv.reader(codecs.EncodedFile(file,"utf-8"),
dialect=dialect)
try:
self.field_names = self.reader.next()
except StopIteration:
# The file was empty - this is not allowed.
raise …
Run Code Online (Sandbox Code Playgroud) 我有一张带有EmpID,Empname,Salary的表格,我正在尝试为每位员工进行计算.但是我在尝试迭代每个emp来进行计算时遇到了问题.我不能使用显式游标.
所以现在我只是想创建一个empID列表:
Declare
aRows Number;
eid emp_ID%TYPE;
Begin
Select Count(*)
Into aRows
from emp;
Select emp_ID
Into eid
From emp;
FOR days IN 1..Tot_Rows
Loop
Dbms_Output.Put_Line(eid);
eid := eid + 1;
End Loop;
END;
Run Code Online (Sandbox Code Playgroud)
但我收到错误:PLS-00320:此表达式的声明类型声明不完整或格式错误
由setInterval定期调用的以下代码执行以下序列:
1.淡入图像750毫秒
2.将其
拖放6秒
3.淡出图像750毫秒
4.随机选择另一张图像(函数randomPic)
5 .淡入750毫秒等等:
$("#_fadee_").fadeIn(750, function() {
$("#_fadee_").delay(6000).fadeOut(750, randomPic);
});
Run Code Online (Sandbox Code Playgroud)
你可以在这里看到效果.如何才能获得旧图像的淡入淡出和新图像的淡入淡出同时运行?
谢谢,拉尔夫
我正在尝试做一些对我来说有点困难的事情.但我确信有人有一些见解.
比如约会,January 17, 2011
我试图弄清楚一年前与这个日期相对应的日期.所以January 17, 2011
是一个星期一,一年前,这一天就下跌January 18, 2010
(星期一一样).结果January 18, 2010
是354天前January 17, 2011
.我原本以为简单地减去非闰年365天和闰年366天,但如果你这样做,你会得到January 17, 2010
,这是星期日,而不是星期一.
所以,在Objective-C中使用NSDate
和NSCalendar
,我如何实现如下函数:
-(NSDate *)logicalOneYearAgo:(NSDate *)from {
}
Run Code Online (Sandbox Code Playgroud)
换句话说,第n个月的第n个"工作日"(其中"工作日"是星期一或星期二或星期三等)
根据 CUDA 编程指南,您可以通过设置环境变量 (CUDA_LAUNCH_BLOCKING=1) 在运行时禁用异步内核启动。
这是一个有用的调试工具。我还想确定使用并发内核和传输在我的代码中的好处。
我还想禁用其他并发调用,特别是cudaMemcpyAsync
.
是否CUDA_LAUNCH_BLOCKING
会影响这些种类除了内核启动电话?我怀疑不是。什么是最好的选择?我可以添加cudaStreamSynchronize
调用,但我更喜欢运行时解决方案。我可以在调试器中运行,但这会影响时间并破坏目的。
对于一个bash大师来说,这将是一个非常简单的免费赠品:
题
使用bash,如何从目录中的所有文件中创建类路径?
细节
给定一个目录:
LIB=/path/to/project/dir/lib
Run Code Online (Sandbox Code Playgroud)
它只包含*.jar文件,例如:
junit-4.8.1.jar
jurt-3.2.1.jar
log4j-1.2.16.jar
mockito-all-1.8.5.jar
Run Code Online (Sandbox Code Playgroud)
我需要在表单中创建一个冒号分隔的classpath变量:
CLASSPATH=/path/to/project/dir/lib/junit-4.8.1.jar:/path/to/project/dir/lib/jurt-3.2.1.jar:/path/to/project/dir/lib/log4j-1.2.16.jar:/path/to/project/dir/lib/mockito-all-1.8.5.jar
Run Code Online (Sandbox Code Playgroud)
一些几乎表达我正在寻找的逻辑的seudo代码将遵循:
for( each file in directory ) {
classpath = classpath + ":" + LIB + file.name
}
Run Code Online (Sandbox Code Playgroud)
通过bash脚本实现此目的的简单方法是什么?
所以我从Android GPS中记录了一些数据,我试图找到这些图的高峰,但我找不到任何具体的东西,也许是因为我不太确定我在寻找什么对于.我找到了一些MatLab函数,但我找不到实际的算法.我需要在Java中执行此操作,但我应该能够翻译其他语言的代码.
正如你所看到的,有许多"迷你峰",但我只想要主要的.
我一直很难编辑我的.htaccess文件来一起做这三件事.我已经能够分别得到每个部分,但我只是不明白逻辑流程如何使它们全部工作.
这是我在bluehost支持下使用演示集得到的最好的 http://helpdesk.bluehost.com/index.php/kb/article/000347
我感谢您解决此问题的任何帮助.
# Use PHP5 Single php.ini as default
AddHandler application/x-httpd-php5s .php
# Bluehost.com
# .htaccess main domain to subdirectory redirect
# Copy and paste the following code into the .htaccess file
# in the public_html folder of your hosting account
# make the changes to the file according to the instructions.
# Do not change this line.
RewriteEngine on
# Change yourdomain.com to be your main domain.
RewriteCond %{HTTP_HOST} ^(www.)?sampleurl.com$
# Change 'subdirectory' to be the directory …
Run Code Online (Sandbox Code Playgroud)