小编q09*_*987的帖子

jquery - 我可以从.ajaxStart或.ajaxStop中检索(event,xhr,options)吗?

基于http://api.jquery.com/ajaxComplete/

.ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) )
.ajaxStart( handler(event) )
Run Code Online (Sandbox Code Playgroud)

根据我的知识和经验,.ajaxStart或.ajaxStop处理程序的XMLHttpRequest和ajaxOptions参数为null.

我想检索.ajaxStart和.ajaxStop函数内的ajaxOptions信息.那可能吗?

如果我与.ajaxSend + .ajaxComplete而不是.ajaxStart + .ajaxComplete挂钩,我会遇到什么问题.我喜欢这样做的主要原因是.ajaxSend可以访问所有三个参数.

jquery

9
推荐指数
1
解决办法
6101
查看次数

关于Bezier曲线实施的问题?

我已经阅读了一些贝塞尔曲线的教程,例如http://www.codeproject.com/KB/recipes/BezirCurves.aspx.

创建贝塞尔曲线的基本思想是使用一些控制点并决定需要创建多少新点.然后插入这些新点.

这是一个问题:

假设我有1000分,我想多插补2000分.我想要使​​用的控制点数是5.参数t的范围是[0,1].

Givens指向P0,P1,P2,P3,P4,P5,P6,...... P1000.我可以使用P0-P4来产生新的点,接下来是什么?使用P5-P9产生新点??? 我可以立即看到P4和P5之间的突然转换.

我该如何解决这个问题?

谢谢

////////////////////////////////////////////////// ///你好Stargazer712,

我理解你的意见,直到达到实施方法.

假设我们有以下几点:

A1->A2->A3->A4->A5->A6->A7->A8 initial points
Run Code Online (Sandbox Code Playgroud)

你说我们需要在每对其他对的中点添加一个新点.

我的问题是新观点的顺序是什么?

让我们使用这个注释(A1 + A3)/ 2 == A12

现在生成的新点是

A13 A24 A35 A46 A57 A68 (this is what you mean "every other pair"?
Run Code Online (Sandbox Code Playgroud)

我应该在哪里将这些点插入原始列表?

我正在处理的轮廓是从二进制图像中提取的.生成的轮廓为锯齿形.在我应用这种平滑的方法后,它的形状不会改善太多.我认为主要原因是邻居彼此靠近并使插值不那么有用.

谢谢

////////////////////////////////////////////////// //

math geometry

9
推荐指数
1
解决办法
922
查看次数

C++ throw dereferenced指针

抛出的异常对象的类型是什么:

问题1> range_error r("error"); throw r;

Answer1> range_error的一个对象

问题2> exception *p = &r; throw *p;

Answer2>异常的切片对象

问题3> exception *p = &r; throw p;

Answer3>抛出指向range_error的指针.捕获处理可以通过动态绑定访问range_error成员函数.

我有这些问题吗?

//更新并编译并在VS2010上运行

#include <iostream>
using namespace std;

class ExClassA
{
public:
    virtual void PrintMe() const
    {
        cout << "ExClassA" << endl;
    }
};

class ExClassB : public ExClassA
{
public:
    virtual void PrintMe() const
    {
        cout << "ExClassB" << endl;
    }
};

int main(int argc, char* argv[])
{   
    ExClassB exClassB;
    ExClassA *p = &exClassB;

    try
    { …
Run Code Online (Sandbox Code Playgroud)

c++

9
推荐指数
2
解决办法
441
查看次数

`gethostbyname`如何在不要求调用者释放资源的情况下返回`struct hostent*`?

struct hostent *gethostbyname(const char *name)
Run Code Online (Sandbox Code Playgroud)

请注意,hostent.h_addr_list是一个变量长度的字段.

函数如何gethostbyname具有返回指向结构的指针但不需要调用者释放资源的实现?

R. Stevens着名的书籍Unix Network Programming Vol 1中使用的所有示例都不包含释放这些返回指针的代码,我认为这些不是无知.MSDN中的一个示例也是使用相同的示例

c network-programming

9
推荐指数
2
解决办法
5114
查看次数

为什么不调用复制构造函数将临时对象复制到新定义的对象

#include <iostream>
using namespace std;

class Y {
public:
    Y(int ) {
        cout << "Y(int)\n";
    }
    Y(const Y&) {
        cout << " Y(const Y&)\n";
    }
};

int main() {
    Y obj1 = 2; // Line 1
}
Run Code Online (Sandbox Code Playgroud)

输出:Y(int)

预期输出:Y(int)Y(const Y&)

问题>根据我的理解,第1行将首先创建一个临时对象Y(2),然后将临时对象分配给obj1.因此,我希望双方Y(int)和Y(const Y&)被调用.但是vs2010的输出仅报告第一个(即Y(int)).为什么?

c++ visual-studio-2010

9
推荐指数
1
解决办法
522
查看次数

是否有必要通过const引用传递迭代器

class T
{
    unordered_map<string, int> table;
    ...

    void updateA(const unordered_map<string, int>::iterator& iter)
    {
        iter->second = 100; 
    }

    void updateB(unordered_map<string, int>::iterator iter)
    {
        iter->second = 100; 
    }
};
Run Code Online (Sandbox Code Playgroud)

问题>哪个功能更好(即updateA或updateB)?如果你有一个更好的,请建议.

谢谢

c++

9
推荐指数
1
解决办法
5330
查看次数

vector :: emplace_back与shared_ptr一起使用

#include <iostream>
#include <vector>
#include <memory>
using namespace std;

struct BinaryTree
{
    int element;    
    shared_ptr<BinaryTree> left;
    shared_ptr<BinaryTree> right;
};

int main()
{
   vector<shared_ptr<BinaryTree>> vecBT;

   // case I
   vecBT.emplace_back(new BinaryTree{10, nullptr, nullptr});

   // case II
   vecBT.emplace_back(shared_ptr<BinaryTree>(new BinaryTree{20, nullptr, nullptr}));

   return 0;
}

http://en.cppreference.com/w/cpp/container/vector/emplace_back
template< class... Args >
void emplace_back( Args&&... args );

http://en.cppreference.com/w/cpp/memory/shared_ptr/shared_ptr
template< class Y >
explicit shared_ptr( Y* ptr );
Run Code Online (Sandbox Code Playgroud)

问题 >我已经通过http://www.compileonline.com/compile_cpp11_online.php编译了上述代码,没有错误.

我的问题是如何在case I不产生错误的情况下通过编译器.由于构造函数shared_ptr需要明确的构造.所以我希望只是case II正确的.

c++

9
推荐指数
1
解决办法
4809
查看次数

为什么在以下情况下没有数据竞争?

当两个线程同时访问同一个变量并且至少有一个访问是写入时,就会发生数据争用.

https://isocpp.org/wiki/faq/cpp11-language-concurrency

// start with x==0 and y==0
if (x) y = 1;   // Thread 1 
if (y) x = 1;   // Thread 2 
Run Code Online (Sandbox Code Playgroud)

这里有问题吗?更确切地说,是否有数据竞争?(不,没有).

为什么原始文章声称这里没有数据竞争?

c++ concurrency c++11

9
推荐指数
3
解决办法
1840
查看次数

模板函数中的名称查找规则

#include <iostream>
using namespace std;

template<typename T>
void adl(T)
{
  cout << "T";
}

struct S
{
};

template<typename T>
void call_adl(T t)
{
  adl(S());
  adl(t);
}

void adl(S)
{
  cout << "S";
}

int main ()
{
  call_adl(S());
}
Run Code Online (Sandbox Code Playgroud)

为什么结果是"TS"?模板函数中的名称查找规则是什么?

http://ideone.com/sB3DnL

c++ templates c++11

9
推荐指数
1
解决办法
186
查看次数

C++ - 关于函数指针的问题

我写了以下代码:

#include "stdafx.h"
#include <iostream>
using namespace std;

double funcA()
{
    return 100.0;
}

int g(double (*pf)())
{
    cout << (*pf)() << endl;
    return 0;
}

int g2(double pf())
{
    cout << pf() << endl;
    return 0;
}

int _tmain(int argc, _TCHAR* argv[])
{
    g(&funcA);  // case I
    g(funcA);   // case II

    g2(funcA);  // case III
    g2(&funcA); // case IV
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我在VS2008上运行了上面的代码,每个函数调用返回'100'.这是一个问题:

Q1>代码中有问题吗?

Q2>似乎C++在*pf和pf之间没有区别.那是对的吗?

谢谢

c++ pointers

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