我trigger在对象原型中添加了一个方法:
Object.prototype.trigger = function() {
// ...
return this;
};
Run Code Online (Sandbox Code Playgroud)
然后有一个“ for in”循环:
var obj = { 4: 15, 10 : 41, 11 : 46, 12 : 51, 20 : 74 }
for( item in obj ) {
foo( obj[item] );
}
Run Code Online (Sandbox Code Playgroud)
但是此循环有6次迭代,而不是5次。最后一次迭代使用key:
item = "trigger"
Run Code Online (Sandbox Code Playgroud)
为什么循环遍历__proto__对象的一部分?

我有这个类定义:
class FlashStream
{
public:
explicit FlashStream(const char * url, vector<uint8> * headers, vector<uint8> * data, void * ndata, void * notifyData = NULL, uint32 lastModified = NULL);
~FlashStream();
private:
NPStream _stream;
// ...
}
Run Code Online (Sandbox Code Playgroud)
及其实施:
FlashStream::FlashStream(const char * url, vector<uint8> * headers, vector<uint8> * data, void * ndata, void * notifyData, uint32 lastModified)
{
// ...
memset(&_stream, 0, sizeof(NPStream));
_stream.headers = new char[data->size()];
memcpy((void*)_stream.headers, &(*data)[0], data->size());
// ...
}
FlashStream::~FlashStream()
{
// ...
if(_stream.headers)
delete [] …Run Code Online (Sandbox Code Playgroud) 在这里我的代码.我希望通过成功调用方法'release'从vector中删除所有元素.
bool foo::release()
{
return true;
}
// ...
vector<foo> vec;
// ...
remove_if(vec.begin(), vec.end(), [](foo & f) { return f.release() == true; });
// ...
Run Code Online (Sandbox Code Playgroud)
但remove_if不要删除所有元素vector vec.怎么样remove_if?
我使用静态窗口过程为对话框窗口创建一个窗口类,并在创建窗口时执行错误:写入位置“0x00000000”时访问被拒绝
// ... Creating window
_hWnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_MAIN), NULL, WndProc, (LPARAM)this);
Run Code Online (Sandbox Code Playgroud)
和窗口过程函数:
static INT_PTR CALLBACK MainWindow::WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
MainWindow * wnd = NULL;
if(message == WM_NCCREATE) {
wnd = reinterpret_cast<MainWindow *>(((LPCREATESTRUCT)lParam)->lpCreateParams);
::SetWindowLongPtr(hWnd, GWLP_USERDATA, reinterpret_cast<long>(wnd));
wnd->_hWnd = hWnd;
} else
wnd = reinterpret_cast<MainWindow *>(::GetWindowLongPtr(hWnd, GWLP_USERDATA));
// ...
}
Run Code Online (Sandbox Code Playgroud)