我已经创建了一个仅消息窗口类,我正在尝试将HWND映射回具有这些句柄的对象.我正在尝试使用std::map<HWND, CMyClass*>属于该类的私有静态来执行此操作,如下所示:
MyClass.h:
class CMyClass
{
...
private:
HWND m_hWnd;
HINSTANCE m_hInstance;
LPCSTR m_szClassName;
static std::map<HWND, CMyClass*> s_mapHandles;
...
};
Run Code Online (Sandbox Code Playgroud)
MyClass.cpp:
std::map<HWND, CMyClass*> CMyClass::s_mapHandles;
Run Code Online (Sandbox Code Playgroud)
但是当我尝试添加到地图时,程序崩溃了.我尝试了三种不同的形式,它们都给出了同样的错误:
...
m_hWnd = ::CreateWindowEx(0, m_szClassName, "Message Window", 0, 0, 0, 0, 0, HWND_MESSAGE, 0, m_hInstance, 0);
s_mapHandles.insert(pair<HWND, CMyClass*>(m_hWnd, this));
Run Code Online (Sandbox Code Playgroud)
要么
...
s_mapHandles.insert(s_mapHandles.end(), pair<HWND, CMyClass*>(m_hWnd, this));
Run Code Online (Sandbox Code Playgroud)
甚至
...
s_mapHandles[m_hWnd] = this;
Run Code Online (Sandbox Code Playgroud)
在每种情况下,_Root()尝试返回的调用都会发生崩溃_Parent(_Myhead); _Parent(_Myhead)返回(_Nodepref)(*_Myhead)._Parent失败,因为_Myhead为null.
如何初始化地图,使其头部非空,我可以在不崩溃的情况下插入内容?如果我解释得很糟糕,我会道歉 - 我是C++的新手.
我正在尝试使用addClass在我的Joomla模板上给我斑马条纹表.我使用以下代码:
<script>
jQuery(function($) {
$("tr:odd").addClass("odd");
});
</script>
Run Code Online (Sandbox Code Playgroud)
我已经能够使用tr:odd选择器动态地将css添加到表行,但是当我使用addClass函数时它只是不行(我检查了生成的源代码,并且没有表行具有"奇数"类) .
不知道我可能做错了什么,会感激任何帮助.
因此,从我所看到的服务,自定义对象似乎是写入服务以返回数据的方式.如果我正在编写一个服务,用于1)填充数据库,或者2)为网站提供信息,是否有用于返回数据集/数据表而不是自定义对象列表的所有这些信息?
谢谢
正如标题所说,在具有多个IP环境的多个以太网接口中,默认的Django测试服务器没有连接到我可以从我的PC访问的网络.有没有办法指定Django测试服务器应该使用的接口?
- 添加 -
网络配置在这里.我通过我的电脑上的143.248.xy地址连接到机器.(我的电脑也在143.248.ab网络.)但我找不到这个地址.正常的apache以及在其他端口上运行的其他自定义守护进程非常有效.
配置这台机器的人不是我,所以我不太了解网络的细节......
eth0 Link encap:Ethernet HWaddr 00:15:17:88:97:78
inet addr:192.168.6.100 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::215:17ff:fe88:9778/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:441917680 errors:0 dropped:0 overruns:0 frame:0
TX packets:357190979 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:191664873035 (178.5 GB) TX bytes:324846526526 (302.5 GB)
eth1 Link encap:Ethernet HWaddr 00:15:17:88:97:79
inet addr:172.10.1.100 Bcast:172.10.1.255 Mask:255.255.255.0
inet6 addr: fe80::215:17ff:fe88:9779/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1113794891 errors:0 dropped:97 overruns:0 frame:0
TX packets:699821135 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 …Run Code Online (Sandbox Code Playgroud) 我想读取文件中的一行并在一行的n位置插入新行("\n")字符,以便将一个9个字符的行转换为三个3个字符的行,如这个:
"123456789" (before)
"123\n456\n789" (after)
Run Code Online (Sandbox Code Playgroud)
我试过这个:
f = open(file, "r+")
f.write("123456789")
f.seek(3, 0)
f.write("\n")
f.seek(0)
f.read()
Run Code Online (Sandbox Code Playgroud)
- >'123 \n56789'
我希望它不要替换位置n中的字符,而只是在该位置插入另一个("\n")字符.
有关如何做到这一点的任何想法?谢谢
我想检查参数$PGkey是否等于哈希表中具有相同名称的键.此外,我希望尽可能接近这种格式:
while(<PARAdef>) {
my($PGkey, $PGval) = split /\s+=\s+/;
if($PGkey == $hash{$PGkey}) {
print PARAnew "$PGkey = $hash{$PGkey}->[$id]\n";
} else {
print PARAnew "$PGkey = $PGval\n";
}
}
Run Code Online (Sandbox Code Playgroud)
有一个简单的方法吗?
我最近一直在玩函数式编程,关于副作用的主题有很好的处理方法,为什么要包含它们等等.在使用OOP的项目中,我正在寻找一些资源来规划一些策略.最小化副作用和/或状态.
一个很好的例子是RESTful Web Services一书,它为您提供了最小化Web应用程序状态的策略.还存在其他什么?
请记住,我不是在寻找另一个OOP分析师/设计模式书(尽管良好的封装和松耦合有助于避免副作用),而是主题本身就是状态/副作用的资源.
一些汇编的答案
可以将扩展方法应用于类吗?
例如,扩展DateTime以包含可以调用的Tomorrow()方法,如:
DateTime.Tomorrow();
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用
static DateTime Tomorrow(this Datetime value) { //... }
Run Code Online (Sandbox Code Playgroud)
要么
public static MyClass {
public static Tomorrow() { //... }
}
Run Code Online (Sandbox Code Playgroud)
对于类似的结果,但我如何扩展DateTime以便我可以调用DateTime.Tomorrow?
我有一个名为user_ips跟踪用户的表,以防他们删除cookie或更改浏览器.所以无论如何,以下代码很简单.它更新user_ip中等于用户id和IP的条目.如果查询没有更新任何行,则表示该用户的IP不在表中,因此将其插入.
$site->query('UPDATE `user_ips` SET `last_time` = UNIX_TIMESTAMP(), `user_agent` = \''.$this->user_agent.'\' WHERE `ip` = '.$this->ip.' AND `userid` = '.$this->id);
if(mysql_affected_rows() == 0)
{
$site->query('INSERT INTO `user_ips` SET `userid` = '.$this->id.', `ip` = '.$this->ip.', `first_time` = UNIX_TIMESTAMP(), `last_time` = UNIX_TIMESTAMP(), `user_agent` = \''.$this->user_agent.'\'');
}
Run Code Online (Sandbox Code Playgroud)
问题是mysql_affected_rows()有时会返回0,即使存在具有用户当前ID和IP的行也是如此.然后,代码使用相同的IP向表中添加另一行.
如果您想知道,$ site是我为我的网站制作的mysql类,它执行的唯一查询是通过query()传递给它的那个,而且没有更多,所以这不是类的问题.哦,IP存储为长IP,因此它不需要引号.
我知道我不应该从析构函数中抛出异常.
如果我的析构函数调用一个可以抛出异常的函数,那么如果我在析构函数中捕获它并且不进一步抛出它是否可以?或者它是否会导致中止,我不应该从析构函数中调用这些函数?