小编Har*_*sad的帖子

已弃用的注册关键字C++ 11的替换

我已经读过(这里,例如)register在C++ 11中不推荐使用该关键字.因此,在标准的较新版本中是否存在与此存储类说明符等效的内容,或者它是否由编译器处理?

c++ c++11

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

使用V8进行Javascript单元测试

目前,我正在使用PhantomJS在我们的构建服务器上的QUnit和Sinon框架中运行Javascript单元测试.

但是,PhantomJS使用JavaScriptCore和JIT编译器作为其Javascript引擎.相反,我想使用在谷歌浏览器中使用的V8引擎,或在IE中使用的Chakra.我想这样做是因为我想检查代码的平台兼容性.

是否有像PhantomJS这样的流行测试跑步者使用这些引擎?

javascript qunit phantomjs sinon

15
推荐指数
1
解决办法
4591
查看次数

为什么构造函数Zlib_init在Bjarne Stroustrup的书中的Zlib_init类中保持私有

在Bjarne Stroustrup撰写的The C++ Programming Language一书中,作者说:

有时,当你设计一个库时,有必要或者只是方便地发明一个带有构造函数和析构函数的类型,其唯一目的是初始化和清理.这样的类型只能使用一次:分配一个静态对象,以便调用构造函数和析构函数.例如:

 class  Zlib_init
{
    Zlib_init() ; //get Zlib ready for use
   ~Zlib_init()  ; //clean up after Zlib
};
Class Zlib
{
   static  Zlib_init   x;
   /  /...
};
Run Code Online (Sandbox Code Playgroud)

遗憾的是,不能保证这样的对象在第一次使用之前被初始化,并且在最后一次使用之后被销毁在由单独编译的单元组成的程序中.

为什么作者将构造函数和析构函数保留为私有成员?如果我们在由单独编译的单元组成的程序中使用它,为什么这个方法不起作用?是否需要定义成员x来调用构造函数Zlib_init()和析构函数~Zlib_init()?那么这种方法的用途是什么?这是在本书的第10.4.9节.

c++ private-constructor

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

如何访问自定义 TableViewCell 中按钮的索引路径?

我创建了一个自定义TableViewCell,目前在单元格中放置了一个按钮。当按钮被按下时,在tableviewcell.swift文件中,IBAction func被执行。我无法弄清楚如何确定按钮所在单元格的索引路径被按下。我试图使用以下

    @IBAction func employeeAtLunch(sender: AnyObject) {

    let indexPath = (self.superview as! UITableView).indexPathForCell(self)
    println("indexPath?.row")
}
Run Code Online (Sandbox Code Playgroud)

但是单击时出现以下错误: Could not cast value of type 'UITableViewWrapperView' to 'UITableView'

有关如何访问单元格的索引路径的任何帮助?

button uitableview ios swift

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

当服务器运行缓慢时,写入客户端返回EWOULDBLOCK

我试图在特定时间间隔后在套接字中写入一些数据.我有两个线程,一个线程维护TCP连接,另一个线程生成数据.

生成therad的数据生成数据,并将其写入共享内存.服务器从共享内存中线程化数据,并将其发送到客户端.

但是,当数据生成线程变慢时,当涉及大量计算时,服务器线程在尝试写入客户端时会收到EWOULDBLOCK错误.但是,令人惊讶的是,从客户端来看,没有这样的错误.

如果我没有错,当服务器比客户端快时,会返回EWOULDBLOCK错误,并且在再次写入之前未完全读取套接字缓冲区.但是,这种情况完全相反.

可能是因为服务器therad一直处于休眠状态,直到数据生成线程完成(数据线程具有更高的优先级).

有人可以解释一下这里可能会发生什么吗?

c++ sockets tcp

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

C++中"<?="的含义是什么?

我在topcoder中的SnapDragon解决方案中多次观察到这一行http://community.topcoder.com/stat?c=problem_solution&rm=166781&rd=5865&pm=3115&cr=272072.上面一行从底部出现在第6行.这是代码

   vector<string> tokenize(string s, string ch) { 
  vector<string> ret; 
  for( int p = 0, p2; p < s.size(); p = p2+1 ) { 
    p2 = s.find_first_of(ch, p); 
    if( p2 == -1 ) p2 = s.size(); 
    if( p2-p > 0 ) ret.push_back( s.substr(p, p2-p) ); 
  } 
  return ret; 
} 

vector<int> tokint(string s, string ch) { 
  vector<int> ret; 
  vector<string> p = tokenize(s, ch); 
  for( int i = 0; i < p.size(); i++ ) 
    ret.push_back( atoi(p[i].c_str()) ); 
  return ret; 
} 

vector<vector<int> > tokmat(vector<string> …
Run Code Online (Sandbox Code Playgroud)

c++

-1
推荐指数
1
解决办法
573
查看次数