小编Yak*_*kov的帖子

无法推断模板参数

我正在实现的类的一部分看起来像这样:

    struct Cord
    {
        int x_cord;
        int y_cord;
        Cord(int x = 0,int y = 0):x_cord(x),y_cord(y) {}
        bool operator()(const Cord& cord) const
        {
            if (x_cord == cord.x_cord)
            {
                return y_cord < cord.y_cord;
            }
            return x_cord < cord.x_cord;
        }
    };
class Cell
    {

    };
std::map<Cord,Cell> m_layout;
Run Code Online (Sandbox Code Playgroud)

我无法编译上面的代码

error C2784: 'bool std::operator <(const std::basic_string<_Elem,_Traits,_Alloc> &,const _Elem *)' : could not deduce template argument for 'const std::basic_string<_Elem,_Traits,_Alloc> &' from 'const Layout::Cord'
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

c++ comparison key map

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

QT删除表格的水平标题

我有一个函数setHorizontalHeader,通过使用逐个添加标题项来向表添加标题setHorizontalHeaderItem.如果我想删除标题,我应该使用哪个函数?看起来takeHorizontalHeaderItem()适合,但它删除项目而不删除它.在为所有项目计算takeHorizo​​ntalHeaderItem之后,我得到了包含数字的标题.我需要完全删除标题(数据+单元格) - 如何正确实现它?

c++ qt

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

deque插入迭代器与指针的无效(引用)

基于cplusplus.com的引文

如果插入发生在序列的开头或结尾,则与此容器相关的所有迭代器都将失效,但指针和引用仍然有效,指的是它们在调用之前引用的相同元素.

为什么插入到前面或末尾会使迭代器无效而对指针和引用无效?

c++ stl insert push-back deque

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

面试 - 为每个数组元素找到更多元素

在采访中我被问到以下问题(不幸的是我找不到比N ^ 2更好的答案)

对于给定的阵列arrunsigned int的大小N,每个元素(索引i)我应该在索引返回元件j(j> i)中,使得arr[j] > arr[i] 即我应该返回阵列RES其中RES [I]具有ARR [J ],j> i,arr [j]> arr [i],j在所有索引k中都是min,例如arr [k]> arr [i]

arr[] = {3,1,4,2,5,7};
res[] = {2,2,4,4,5,-1};//-1 says no such index
Run Code Online (Sandbox Code Playgroud)

是否有更好的时间复杂性?谢谢

arrays algorithm compare

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

memcpy正确的实施方法

我发现了memcpy的以下实现(面试问题,其中迭代计数~size/4):

void memcpy(void* dest, void* src, int size)
{
    uint8_t *pdest = (uint8_t*) dest;
    uint8_t *psrc = (uint8_t*) src;

    int loops = (size / sizeof(uint32_t));
    for(int index = 0; index < loops; ++index)
    {
        *((uint32_t*)pdest) = *((uint32_t*)psrc);
        pdest += sizeof(uint32_t);
        psrc += sizeof(uint32_t);
    }

    loops = (size % sizeof(uint32_t));
    for (int index = 0; index < loops; ++index)
    {
        *pdest = *psrc;
        ++pdest;
        ++psrc;
    }
}
Run Code Online (Sandbox Code Playgroud)

我不确定我理解它.....:

1)为什么要定义uint8_t *pdest,uint8_t *psrc并在此之后进行铸造uint32_t-

*((uint32_t*)pdest) = *((uint32_t*)psrc);
Run Code Online (Sandbox Code Playgroud)

我认为,从一开始pdest,并 …

c algorithm buffer memcpy

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

是否有可能通过单锁生成死锁

这是一个面试问题.一般情况下,当thread1锁定mutex1时会生成2个线程之间的死锁,并且在它尝试锁定mutex2之前的一刻,线程2锁定mutex2.在该脚步2想要锁定mutex1之后.所以它们永远等待彼此.

问题是"你能用一个互斥锁和任意数量的线程给出死锁情景吗?"

multithreading mutex deadlock

3
推荐指数
2
解决办法
3795
查看次数

字符串对的数组

如何生成字符串对数组?我需要它用静态数据快速初始化它.

stringPair[] arr = {{"hgh","hjhjh"},{"jkjk","kjhk"}
Run Code Online (Sandbox Code Playgroud)

c# arrays

3
推荐指数
2
解决办法
5045
查看次数

SQL Server中C#与SQL和GETDATE()中的datetime

GETDATE()在SQL Server存储过程中使用了将日期插入SQL Server数据库表的方法。

之后,我需要实现一个C#函数,该函数基于datetime输入参数查找日期是否保存在表中。

C#和SQL中的日期时间不同。如何从C#日期时间转换为SQL日期时间,其形式为yyyy-mm-ddT:yy:mm:ss.mmm?我需要明确指定yyyy-mm-ddT:yy:mm:ss.mmm

会对所有主张/可能的方式感到高兴。

c# sql sql-server datetime

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

IPAddress.TryParse返回false

我有一个IP地址的字符串

clientId = "172.19.200.29:10308"
Run Code Online (Sandbox Code Playgroud)

我需要从中生成IPAddress对象.请执行以下操作

    IPAddress clientIpAddr;
    if (IPAddress.TryParse(clientId, out clientIpAddr)) //<-returns false
//clientIpAddr is null
Run Code Online (Sandbox Code Playgroud)

可能有什么不对

c# ip-address tryparse

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

从输出流写入到输出流

我有一个输出流,客户端 A 正在写入,我需要将它以字节块的形式转发到客户端 B。

我想将客户端 A 的输出流与客户端 B 的输出流连接起来。这可能吗?有什么方法可以做到这一点?我不需要分叉/克隆我而是需要从流 A 中获取一些数据并将其移动到流 B(即数据不留在流 A 中)

注意:A 和 B 是进程,客户端 A 的输出流不能直接提供给客户端 B。 约束:内存有限

java outputstream

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