问题列表 - 第24782页

在C++跨平台上解析url的简单方法?

我需要解析一个URL,以便在我用C++编写的应用程序中获取协议,主机,路径和查询.该应用程序旨在跨平台.我很惊讶我在boostPOCO库中找不到任何这样的功能.这是显而易见的我不看的地方吗?关于适当的开源库的任何建议?或者这是我必须自己做的事情?它并不是非常复杂,但似乎是一项常见的任务,我很惊讶没有一个共同的解决方案.

c++ url uri

67
推荐指数
9
解决办法
8万
查看次数

PHP - 从<img>除外的字符串中删除HTML标记

我想删除除img标记之外的所有标记,

$words = strip_tags($words, '<img>');
Run Code Online (Sandbox Code Playgroud)

它有用吗?

html php

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

用简单的英语解释这个SQL查询

请用简单的英语解释这个SQL查询回答的问题:

SELECT SUM(price) FROM Room r, Hotel h

WHERE r.hotelNo = h.hotelNo and hotelName = 'Paris Hilton' and
roomNo NOT IN

(SELECT roomNo FROM Booking b, Hotel h
WHERE (dateFrom <= CURRENT_DATE AND
dateTo >= CURRENT_DATE) AND
b.hotelNo = h.hotelNo AND hotelName = 'Paris Hilton');
Run Code Online (Sandbox Code Playgroud)

mysql database sql-server

4
推荐指数
1
解决办法
1319
查看次数

在javascript中动态创建get/set方法

我正在尝试创建一个UserDon对象,并尝试以编程方式生成get和set方法(基于John Resig第37页的Pro Javascript书),并在Firefox 3.5上测试它

问题是:在函数UserDon中,"this"指的是窗口对象而不是UserDon对象.

所以在调用var userdon = new UserDon(...)之后,我在window对象上创建了setname和getname方法(也是setage和getage).

我怎样才能解决这个问题?

function UserDon( properties ) {
   for( var i in properties ) {
   (function(){
      this[ "get" + i ] = function() {
        return properties[i];
      };

      this[ "set" + i ] = function(val) {
        properties[i] = val;
      };
      })();
   }
 }

var userdon = new UserDon( {
   name: "Bob",
   age: 44
});
Run Code Online (Sandbox Code Playgroud)

javascript oop

6
推荐指数
1
解决办法
3833
查看次数

如何区分同一IP地址上的两个不同的UDP客户端?

我正在写一个UDP服务器,这对我来说是第一次; 我只做了一点TCP通信.而且我无法确定如何区分哪个用户是哪个,因为UDP只处理数据包而不是连接,因此我无法确切地告诉我与谁通信.

这是我当前服务器循环的伪代码:

DatagramPacket p;
socket.receive(p); // now p contains the user's IP and port, and the data
int key = getKey(p);
if(key == 0) { // connection request
    key = makeKey(p);
    clients.add(key, p.ip);
    send(p.ip, p.port, key); // give the user his key
} else { // user has a key
    // verify key belongs to that IP address
    // lookup the user's session data based on the key
    // react to the packet in the context of the session …
Run Code Online (Sandbox Code Playgroud)

java udp

7
推荐指数
1
解决办法
4945
查看次数

当分母已知时,更快的整数除法?

我正在研究GPU设备,它具有非常高的除法整数延迟,数百个周期.我希望优化分歧.

分母中的所有除法都在集合{1,3,6,10}中,但分子是运行时正值,大约为32000或更小.由于内存限制,查找表可能不是一个好的选择.

你能想到其他选择吗?我曾想过计算浮点反转,并使用它们来乘以分子.

谢谢

PS.谢谢你们.位移黑客真的很酷.为了从舍入中恢复,我使用以下C段:

// q = m/n
q += (n*(j +1)-1) < m;
Run Code Online (Sandbox Code Playgroud)

optimization performance integer division

16
推荐指数
3
解决办法
5643
查看次数

如何正确使用带有可变参数模板的引用

我有类似下面的代码:

   template<typename T1, typename T2, typename T3, typename T4>
   void inc(T1& t1, T2& t2, T3& t3, T4& t4) { ++t1; ++t2; ++t3; ++t4; }

   template<typename T1, typename T2, typename T3>
   void inc(T1& t1, T2& t2, T3& t3) { ++t1; ++t2; ++t3; }

   template<typename T1, typename T2>
   void inc(T1& t1, T2& t2) { ++t1; ++t2; }

   template<typename T1>
   void inc(T1& t1) { ++t1; }
Run Code Online (Sandbox Code Playgroud)

我想使用即将推出的标准中提出的可变参数模板重新实现它.然而,到目前为止我在网上看到的所有例子似乎都是类似于printf的例子,这里的区别似乎是引用的使用.我想出了以下内容:

inline void inc() { }

template<typename T>
inline void inc(T&& t) { ++t; }

template<typename T,typename …
Run Code Online (Sandbox Code Playgroud)

c++ templates variadic c++11

13
推荐指数
1
解决办法
2862
查看次数

使用GDB调试PHP解释器

我想使用GDB来完成构成php.so Apache扩展的C++代码.我想看看PHP在运行PHP应用程序时正在做什么.我最好在LAMP系统上使用像Netbeans或Eclipse这样的IDE.

php eclipse debugging lamp gdb

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

从函数返回对象

我现在真的很困惑如何以及使用哪种方法从函数返回对象.我想要针对给定要求的解决方案提供一些反馈.

场景A:返回的对象将存储在一个变量中,该变量在其生命周期内无需修改.从而,

const Foo SomeClass::GetFoo() {
 return Foo(); 
}
Run Code Online (Sandbox Code Playgroud)

调用为:

someMethod() {
 const Foo& l_Foo = someClassPInstance->GetFoo();
//...
}
Run Code Online (Sandbox Code Playgroud)

Scneraio B:返回的对象将存储在一个变量中,该变量将在其生命周期内被修改.从而,

void SomeClass::GetFoo(Foo& a_Foo_ref) {
     a_Foo_ref = Foo(); 
    }
Run Code Online (Sandbox Code Playgroud)

调用为:

someMethod() {
 Foo l_Foo;
 someClassPInstance->GetFoo(l_Foo);
//...
}
Run Code Online (Sandbox Code Playgroud)

我在这里有一个问题:让我们说Foo不能有默认的构造函数.那么在这种情况下你会怎么处理呢,因为我们不能再写这个了:

Foo l_Foo
Run Code Online (Sandbox Code Playgroud)

场景C:

Foo SomeClass::GetFoo() {
 return Foo(); 
}
Run Code Online (Sandbox Code Playgroud)

调用为:

someMethod() {
 Foo l_Foo = someClassPInstance->GetFoo();
//...
}
Run Code Online (Sandbox Code Playgroud)

我认为这不是推荐的方法,因为它会导致构建额外的临时工.

你怎么看 ?另外,您是否建议使用更好的方法来处理此问题?

c++ memory return-value pass-by-reference

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

php-openID不适用于Yahoo

我正在尝试使用php-openid库在我的网站中实现openID.其包中的基本消费者示例不适用于Google和Yahoo.我在这里找到了Google解决方案: 在PHP OpenID中使用AX的示例, 但它仍不适用于Yahoo! .我怎么能让它有效?

php openid janrain yahoo-oauth

8
推荐指数
1
解决办法
1909
查看次数