我不理解连续子序列的以下定义:
列表S的连续子序列是由S的连续元素组成的子序列.
如果S
{5, 15, -30, 10, -5, 40, 10}
则15, -30, 10是一个连续子序列.
什么15, -30, 10是连续的后续序列?
我想序列化向量。我不知道如何更改向量的指针。为了简单起见,假设我有一个向量,如下所示:
vector<char> v;
Run Code Online (Sandbox Code Playgroud)
我有这个指针:
char* c = { 'v', 'e', 'c', 't', 'o', 'r' };
Run Code Online (Sandbox Code Playgroud)
我希望我的向量 v 的内部指针指向我的 char* c:
&v[0] -> c
Run Code Online (Sandbox Code Playgroud)
如何调整指向 c 的向量?有什么办法可以做到吗?
编辑2010年10月22日
所以伙计们,在调试矢量之后我想出了这个解决方案:
vector<char> dump;
memcpy(&myVector, &dump, sizeof(myVector)); // I change contents so it can work
myVector.assign(buf, buf+5); // copy contents into it from buffer (I don't like this part)
Run Code Online (Sandbox Code Playgroud)
为了做到这一点,我需要定义
_ITERATOR_DEBUG_LEVEL=0
Run Code Online (Sandbox Code Playgroud)
因为它最初设置为 2 并且它实际上进行了调试检查(我猜)这也不是在发布模式下定义的,对吗?所以这是我现在的解决方法,我想强制 ppl 长期删除向量......那么伙计们,你们对这个解决方案有什么想法?你看到危险了吗?
我实际上需要通过 memcpy 序列化向量。我想序列化我的整个类(例如拍摄内存快照)并将其写入文件,并在重新加载时从文件中读取它并恢复对象,就像不调用其构造函数并使用 new 运算符一样。
嗯,这个向量容器发生在堆栈内存上,所以 memcpy 无法到达它,因为它唯一关心的是堆......那么这段代码现在可能对我有用:
复制(buf,buf + 5 myVvector.begin());
嗯,这也不起作用,因为我不在我的类上使用 new 关键字,据我所知,这个向量没有初始化。因此,如果我尝试使用 smt 复制、push_back_fill 这个向量,则会出现以下错误: …
我尝试从收件箱文件夹中删除邮件,一切正常,但当我切换到所有邮件文件夹时删除不起作用.expunge()方法返回('OK', [None])并且未删除消息:
>>>import imaplib
>>>server = imaplib.IMAP4_SSL('imap.gmail.com','993')
>>>server.login('likvidator89@gmail.com','Password')
>>>server.select('inbox')
>>>for i in server.search(None,'all')[1][0].split():
... print i+"\n"+server.fetch(i,'(BODY[HEADER.FIELDS (Subject)])')[1][0][1]
...
# that how i know what UID hame my message? I select by subject
#....
#28
#Subject: 1 Question Has 1 Answer - Stack Overflow
#
#
#29
#Subject: 2222222222
#...
>>>server.store(29,'+FLAGS','\\Deleted')
#('OK', ['29 (FLAGS (\\Seen \\Deleted))'])
>>>server.expunge()
#('OK', ['29'])
>>> server.select('[Gmail]/All Mail')
('OK', ['47'])
>>> for i in server.search(None,'all')[1][0].split():
... print i+"\n"+server.fetch(i,'(BODY[HEADER.FIELDS (Subject)])')[1][0][1]
...
#....
#
#46 …Run Code Online (Sandbox Code Playgroud) 我目前正在 Linux 和 Windows 7 上运行 Python 脚本。该文件以 execv 样式执行,我的意思是解释器是在命令的文件开头定义的。
在Windows系统中,解释器规范为:
#!C:\Python26\python.exe
Run Code Online (Sandbox Code Playgroud)
然而在 Linux 中这需要
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
我想在两个系统中运行此脚本,而不必一次又一次地更改此行。
我已经尝试过以下方法:
#!C:\Python26\python.exe
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
也:
#!C:\Python26\python.exe;/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
那么:有什么方法可以指定多个解释器吗?
我为我的网站创建了一个模板文件...就像:
<!-- template.php -->
<?php function showheader() { ?>
<head><body>
<!-- some of style files and menus -->
<div class="content">
<?php } ?>
<?php function showfooter() { ?>
</div></body></html>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
我使用这个文件作为这样的模板:
<?php include_once("template.php"); showheader(); ?>
content text or photo or ... etc.
<?php showfooter(); ?>
Run Code Online (Sandbox Code Playgroud)
这就是全部...但如果我尝试在模板文件上使用连接,那就搞砸了!我使用了一个外部文件:
<?php
//
// include_once connection file
// query strings goes here
//
do {
echo $row_table['id']; //example
} while ($row_table = mysql_fetch_assoc($table));
?>
Run Code Online (Sandbox Code Playgroud)
我使用这个文件作为include_once("filename.php"); 在模板文件上...此时它会出错...就像这个连接变量是什么,这个连接字符串是什么......等等它无法到达连接字符串......
顺便说一句,我使用另一个外部连接,如:
<?php
global $hostname_conn,$database_conn,$username_conn,$password_conn,$conn;
$hostname_conn = "localhost"; …Run Code Online (Sandbox Code Playgroud) 看起来200万个花车应该没什么大不了的,只有8MB的1GB GPU内存.我能够有时分配那么多,有时甚至比没有麻烦.当我执行clEnqueueReadBuffer时,我得到了CL_OUT_OF_RESOURCES,这看起来很奇怪.我能够嗅出问题真正开始的地方吗?在clEnqueueReadBuffer中,OpenCL不应该像这样失败吗?应该是我分配数据的时候吗?有没有办法获得更多的细节而不仅仅是错误代码?如果我能看到当OpenCL声明CL_OUT_OF_RESOURCES时分配了多少VRAM,那将会很酷.
在实现/使用返回或使用对象实例的方法时,检查函数参数的最优雅方法是什么?
致电方法:
someType GetSomething(object x)
{
if (x == null) {
return;
}
//
// Code...
//
}
Run Code Online (Sandbox Code Playgroud)
或更好:
someType GetSomething(object x)
{
if (x == null) {
throw new ArgumentNullException("x");
}
//
// Code...
//
}
Run Code Online (Sandbox Code Playgroud)
通话方式:
void SomeOtherMethod()
{
someType myType = GetSomething(someObject);
if (someType == null) {
return;
}
}
Run Code Online (Sandbox Code Playgroud)
或更好:
void SomeOtherMethod()
{
try {
someType myType = GetSomething(someObject);
} catch (ArgumentNullException) {
}
}
Run Code Online (Sandbox Code Playgroud)
浏览类似问题时,不使用try/catch的原因是性能.但恕我直言,尝试捕获只是看起来更好:).
那么,哪种方式更"优雅"?
如果我有一个对象,其中包括IEnumerable,我转储此对象,我得到枚举值.
有没有办法让Linqpad列出其他属性:
以下示例:我可以获得Dump以包含Hello和数字属性吗?
void Main()
{
var t = new test();
var d = new Dictionary<string,string> {{"Hello","World"},{"Good by","Sky"}};
t.Dump();
d.Dump();
}
// Define other methods and classes here
public class test : IEnumerable
{
public string Hello { get { return "World"; }}
public List<int> digits { get { return new List<int> {0,1,2,3,4,5,6,7,8,9}; }}
public IEnumerator GetEnumerator() { yield return "Hej"; }
}
Run Code Online (Sandbox Code Playgroud) 我知道Excel 2010 Slicers将直观地指示何时没有与特定切片器选择相关联的数据.例如,如果2010年没有值,它们在2010年会褪色.
有一些设置我可以完全隐藏它们吗?
如果我在2007年,2009年和2010年有销售; 但不是2008年切片机列表可以完全省略2008,或者必须始终显示为灰色.
我不是要求SQL选择解决方案,而是要求Excel设置.
我正在从文件中读取二进制数据,特别是从zip文件中读取.(要了解有关zip格式结构的更多信息,请参阅http://en.wikipedia.org/wiki/ZIP_%28file_format%29)
我创建了一个存储数据的结构:
typedef struct {
/*Start Size Description */
int signatute; /* 0 4 Local file header signature = 0x04034b50 */
short int version; /* ?4 2 Version needed to extract (minimum) */
short int bit_flag; /* ?6 2 General purpose bit flag */
short int compression_method; /* ?8 2 Compression method */
short int time; /* 10 2 File last modification time */
short int date; /* 12 2 File last modification date */
int crc; /* …Run Code Online (Sandbox Code Playgroud)