好的这次我决定使用STL制作一个列表.我需要为每个客户端创建一个专用的TCP套接字.所以每当我有一个连接时,我实例化一个套接字并在列表中添加一个指向它的指针.
list<MyTcp*> SocketList; //This is the list of pointers to sockets
list<MyTcp*>::iterator it; //An iterator to the list of pointers to TCP sockets.
Run Code Online (Sandbox Code Playgroud)
将一个新指针放到套接字很容易,但是现在每次连接结束时我应该断开套接字并删除指针,这样我就不会有大量的内存泄漏,对吧?好吧..我以为我做得好这个:
it=SocketList.begin();
while( it != SocketList.end() ){
if((*it)->getClientId() == id){
pSocket = it; // <-------------- compiler complains at this line
SocketList.remove(pSocket);
pSocket->Disconnect();
delete pSocket;
break;
}
}
Run Code Online (Sandbox Code Playgroud)
但编译器这样说:
error: invalid cast from type ‘std::_List_iterator<MyTcp*>’ to type ‘MyTcp*’
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?我以为我做的事情是对的,在任何给定的时间只是指向集合中的一个元素不是迭代器?我该怎么解决?
我刚刚安装了Paperclip的插件,我收到以下错误消息,但我不确定原因:
NoMethodError (undefined method `has_attached_file' for #<Class:0x10338acd0>):
/Users/bgadoci/.gem/ruby/1.8/gems/will_paginate-2.3.12/lib/will_paginate/finder.rb:170:in `method_missing'
app/models/post.rb:2
app/controllers/posts_controller.rb:50:in `show'
Run Code Online (Sandbox Code Playgroud)
它引用了will_paginate gem.从我能找到的,似乎我PostsController#index或者以前尝试安装gem而不是插件有问题,在这种情况下我读过我应该能够以/config/environments.rb某种方式通过文件来修复.
我之前认为以前的gem安装并不重要,因为我在安装插件之前删除了旧版本的网站.在该站点的当前版本中,我显示该表已在迁移后使用Paperclip列进行更新.这是我的代码:
PostsConroller#show:
def show
@post = Post.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @post }
end
end
Run Code Online (Sandbox Code Playgroud)
Post 模型:
class Post < ActiveRecord::Base
has_attached_file :photo
validates_presence_of :body, :title
has_many :comments, :dependent => :destroy
has_many :tags, :dependent => :destroy
has_many :votes, :dependent => :destroy
belongs_to :user
after_create :self_vote
def self_vote
# I am assuming you have a …Run Code Online (Sandbox Code Playgroud) 我正在使用.NET JSON解析器,并希望序列化我的配置文件,以便它是可读的.所以代替:
{"blah":"v", "blah2":"v2"}
Run Code Online (Sandbox Code Playgroud)
我想要更好的东西:
{
"blah":"v",
"blah2":"v2"
}
Run Code Online (Sandbox Code Playgroud)
我的代码是这样的:
using System.Web.Script.Serialization;
var ser = new JavaScriptSerializer();
configSz = ser.Serialize(config);
using (var f = (TextWriter)File.CreateText(configFn))
{
f.WriteLine(configSz);
f.Close();
}
Run Code Online (Sandbox Code Playgroud) 我正在寻找一个很好的java排序列表.谷歌搜索给我一些关于使用TreeSet/TreeMap的提示.但是这些组件缺少一件事:随机访问集合中的元素.例如,我想访问有序集合中的第n个元素,但是使用TreeSet,我必须遍历其他n-1个元素才能到达那里.这将是一种浪费,因为我的Set中有多达数千个元素.
基本上,我正在寻找类似于.NET中的排序列表的东西,能够快速添加元素,快速删除元素,并且可以随机访问列表中的任何元素.
在某处实现了这种排序列表吗?谢谢.
编辑
我对SortedList的兴趣源于这些问题:我需要维护一个包含数千个对象的列表(并且可以增长到数十万个).这些对象将持久保存到数据库中.我想从整个列表中随机选择几十个元素.因此,我尝试维护一个分离的内存列表,其中包含所有对象的主键(长号).当从数据库添加/删除对象时,我需要从列表中添加/删除键.我现在正在使用ArrayList,但是当记录数量增长时,我担心ArrayList不适合它.(想象一下,每次从数据库中删除对象时,都必须迭代数十万个元素).回到我编写.NET编程的时候,我会使用一个排序的List(List是一个.NET类,一旦Sorted属性设置为true,将维护其元素的顺序,并提供帮助删除/插入元素的二进制搜索很快).我希望我能从java BCL找到类似的东西,但不幸的是,我没有找到一个很好的匹配.
下面示例中的构造 ((..)) 的名称和语法是什么?
for ((i=1;i<10;i++)) do echo $i; done
Run Code Online (Sandbox Code Playgroud)
它有奇怪的变量 i ,
shell 中数字循环的其他结构在哪里?
我在这里看到了一些关于 CRC 32 计算的其他问题。但没有一个让我满意,因此。
openssl 库是否有用于计算 CRC32 的 api 支持?我已经在使用 openssl 进行 SHA1,所以更愿意使用它,而不是链接到另一个用于 CRC32 的库(我的实现是用 C 语言实现的)。
谢谢。
这是一个非常基本的问题,但我是perl的新手,无法解决问题所在.我只是想隔离目录中的文件,但-d运算符会将所有文件夹内容视为文件...
@contents是我的数组,当我运行它时:
use strict;
if ($ARGV[1]) {
die("Error: You can only monitor one directory at a time\n");
}
my $directory = $ARGV[0] || die "Error: No directory defined\n";
opendir(DIR, $directory) || die "Error: Can't open dir $directory: $!";
my @contents = readdir(DIR);
foreach my $item(@contents) {
if (-d $item) { next; }
print"$item is a file\n";
}
closedir (DIR);
Run Code Online (Sandbox Code Playgroud)
我一直收到文件夹和文件.或者,如果我使用-f,我什么也得不到.
编辑:这是输出 -
file01.txt is a file
folder 01 is a file
folder 02 is a file
Screen shot 2010-04-18 at …Run Code Online (Sandbox Code Playgroud) 写不好
if (b == false) //...
while (b != true) //...
Run Code Online (Sandbox Code Playgroud)
是不是总是更好,而不是写:
if (!b) //...
while (!b) //...
Run Code Online (Sandbox Code Playgroud)
据推测,性能没有差异(或者存在?),但是如何衡量两者之间的显性,简洁性,清晰度,可读性等?
为了限制主观性,我还要感谢来自权威编码风格指南的任何引用,这些引用始终是优选的,或者在何时使用.
注意:变量名称b仅用作示例,ala foo和bar.
我有一个问题,NSDictionary返回null一个NSString即使字符串是字典中.这是代码:
- (void)sourceDidChange:(NSNotification *)aNote {
NSDictionary *aDict = [aNote userInfo];
DLog(@"%@", aDict);
NSString *newSourceString = [aDict objectForKey:@"newSource"];
DLog(@"%@", newSourceString);
newSourceString = [newSourceString stringByReplacingOccurrencesOfString:@" " withString:@""];
DLog(@"%@", newSourceString);
NSString *inspectorString = [newSourceString stringByAppendingString:@"InspectorController"];
DLog(@"%@", inspectorString);
newSourceString = [newSourceString stringByAppendingString:@"ViewController"];
DLog(@"%@", newSourceString);
}
Run Code Online (Sandbox Code Playgroud)
我得到以下日志声明:
2010-04-17 23:50:13.913 CoreDataUISandbox[13417:a0f] -[RightViewController sourceDidChange:] { newSource = "Second View"; }
2010-04-17 23:50:13.914 CoreDataUISandbox[13417:a0f] -[RightViewController sourceDidChange:] (null)
2010-04-17 23:50:13.916 CoreDataUISandbox[13417:a0f] -[RightViewController sourceDidChange:] (null)
2010-04-17 23:50:13.917 CoreDataUISandbox[13417:a0f] -[RightViewController sourceDidChange:] (null)
2010-04-17 23:50:13.917 CoreDataUISandbox[13417:a0f] …Run Code Online (Sandbox Code Playgroud) 我试图淡化网页上的所有元素,除了一个div.我已经能够使用以下jQuery淡化所有元素:
$('*').css('opacity', .3);
Run Code Online (Sandbox Code Playgroud)
但是,似乎不透明度是从父元素继承的属性,即使我明确地将div的不透明度设置为1.我现在对任何解决方案都画了一个空白,所以我可以在这里得到一些帮助吗?