小编ZHO*_*HOU的帖子

如果TCP握手段丢失怎么办?

在TCP 3次握手中,将发送3个段(SYN,SYN ACK,ACK).如果第三段(ACK)丢失怎么办?发件人是要重新发送段还是放弃建立连接?那两个主机如何知道该段丢失了?

tcp

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

如何在C中比较套接字地址?

我的意思是,struct sockaddr当我检查两个是否struct sockaddr有相同的IP地址和端口号时,我应该比较哪些字段?那怎么样sockaddr_in

可我只是投sockaddr_insockaddr,并把它比真实的sockaddr

c sockets

17
推荐指数
1
解决办法
6499
查看次数

HTTP标头中的连接和代理连接有什么区别?

ConnectionProxy-ConnectionHTTP标头之间有什么区别?

是否Proxy-Connection由代理添加了字段?还是客户端和服务器?代理,客户端或服务器在收到带有值keep-alive和close的这两个字段的标头后会做什么?

proxy http http-proxy http-headers

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

静态.lib文件如何相互链接?

例如,如果我有一个lib A依赖的东西lib B,那么当我编写一个依赖于的程序时,我是否需要链接两者lib A和/ lib B或仅链接?lib AClib A

c c++

5
推荐指数
2
解决办法
160
查看次数

如何提高内联功能效率?

我分析了我的代码,发现一个内联函数占用了大约8%的样本.该函数用于将矩阵下标转换为索引.它非常像matlab函数sub2ind.

inline int sub2ind(const int sub_height, const int sub_width, const int width) {
    return sub_height * width + sub_width;
}
Run Code Online (Sandbox Code Playgroud)

我猜编译器不执行内联扩展,但我不知道如何检查它.

有没有办法改善这个?或者明确让编译器执行内联扩展?

c++ optimization performance inline

5
推荐指数
1
解决办法
161
查看次数

std :: swap()可以安全地用于对象吗?

在关于复制和交换的这个问题中,在接受的答案中有一个swap()函数.

friend void swap(dumb_array& first, dumb_array& second) // nothrow
 {
    // enable ADL (not necessary in our case, but good practice)
    using std::swap; 

    // by swapping the members of two classes,
    // the two classes are effectively swapped
    swap(first.mSize, second.mSize); 
    swap(first.mArray, second.mArray);
}
Run Code Online (Sandbox Code Playgroud)

为什么不std::swap(first, second)呢?

c++ copy-constructor

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

关于C++内存的一些东西

可能重复:
大型阵列上的分段错误

运行程序时发生分段错误.

#include<iostream>
using namespace std;

int main(){
    int x[2000][2000];
    int y;
    cin >> y;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行它们时,以下两个程序都可以.

#include<iostream>
using namespace std;

int x[2000][2000];
int main(){

    int y;
    cin >> y;
}
Run Code Online (Sandbox Code Playgroud)

#include<iostream>
using namespace std;

int main(){
    int x[2000][2000];
    int y;
}
Run Code Online (Sandbox Code Playgroud)

我很困惑.谁能告诉我为什么?

c++ memory

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

优化数组c ++算术计算的常用策略是什么?

例如,我有三个float阵列a,b并且c,我想补充ab元素明智达c.一种天真的方式就像

for(int i = 0; i < n; i++){
    c[i] = a[i] + b[i];
}
Run Code Online (Sandbox Code Playgroud)

据我所知,OpenMP可以并行化这段代码.在OpenCV代码中,我看到一些标志像CV_SSE2CV_NEON其相关的优化.

如果我希望我的代码高效,那么优化这些代码的常用方法是什么?

c c++ optimization

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

我可以为一个类编写复制和移动赋值运算符吗?

这些是我的原型,

MyClass& operator=(MyClass rhs);   // copy assignment
MyClass& operator=(MyClass &&rhs); // move assignment
Run Code Online (Sandbox Code Playgroud)

但是当我打电话时

MyClass a, b;
a = std::move(b);
Run Code Online (Sandbox Code Playgroud)

,有一个错误.

556 IntelliSense: more than one operator "=" matches these operands:
        function "MyClass::operator=(MyClass rhs)"
        function "MyClass::operator=(MyClass &&rhs)"
        operand types are: MyClass = MyClass    
Run Code Online (Sandbox Code Playgroud)

并且编译器返回:

Error   56  error C2593: 'operator =' is ambiguous  
Run Code Online (Sandbox Code Playgroud)

c++ move-semantics copy-assignment

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

如何在OpenCV中实现signum功能?

dst = signum(src)函数将所有正元素的值设置为srcto 1,并将所有负元素的值设置为-1.

但是,似乎无法signum()通过应用OpenCV函数来实现该功能threshold().我也不想遍历src,因为它效率低下.

math android opencv

0
推荐指数
1
解决办法
747
查看次数