小编Pat*_*ryk的帖子

在C#中双击设计器中的表单生成的事件处理和函数之间有什么区别?

C#事件处理(包括所有委托和类似事件)和通过双击设计器中的表单(在Visual Studio中)生成的事件有什么区别?

c# event-handling visual-studio

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

为什么std :: generate可以与lambda generator一起使用,而std :: fill却不能呢?

我偶然发现了以下网站:http : //www2.research.att.com/~bs/C++0xFAQ.html#lambda,他们在其中解释了lambda函数。我尝试使用提供的示例:

    vector<int> indices( notImportantNumber );
    int count = 0;
    fill(indices.begin(), indices.end(), [&](){ return ++count; });
Run Code Online (Sandbox Code Playgroud)

同样

    generate(indices.begin(), indices.end(), [&](){ return ++count; });
Run Code Online (Sandbox Code Playgroud)

虽然,当我尝试将示例与fill一起使用时,我继续遇到此错误:

错误1错误C2440:'=':无法从'const`anonymous-namespace'::'转换为'long'c:\ program files \ microsoft visual studio 10.0 \ vc \ include \ xutility 2692

有人知道为什么会这样吗?在的声明中std::fill(),没有函子作为最后一个参数。

c++ lambda std

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

为什么我总是使用默认参数获取对象?

我有2个成员函数的问题,其中一个是const返回一个const:

const BoardNode & Board::getBoardNode(unsigned int rowIdx, unsigned int colIdx) const
{
    return _mData[rowIdx*_mNumColumns + colIdx];
}

BoardNode & Board::getBoardNode(unsigned int rowIdx, unsigned int colIdx)
{
    return _mData[rowIdx*_mNumColumns + colIdx];
}
Run Code Online (Sandbox Code Playgroud)

过了一会儿我用的代码:

// where this is a Board holding Nodes in std::vector
BoardNode nodeToAddAsNeighbor   = this->getBoardNode(x1+ x, y1+ y);
Run Code Online (Sandbox Code Playgroud)

无论的值y1,y,x,x1是的,我总是回以坐标中的节点(0,0).

然而,节点的其他参数是不同的,只有如上所述的坐标.

知道为什么吗?

编辑 我的副本构造函数:

BoardNode::BoardNode(const BoardNode & other) :
    _mNodeType(other._mNodeType),
    _coordinates( other._coordinates ),
    _neighboursVector( other._neighboursVector) {}
Run Code Online (Sandbox Code Playgroud)

c++ const

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

为什么C中的循环只传递一次?

我有一段非常简单的代码,用于检查给定的数字是否为排列

(位数<8;每位数只显示一次)

从未知的原因到我的循环与标记的评论(HERE)只传递一次.有人可以帮助我吗?

#include <stdio.h>
#include <stdbool.h>

int num_digits(int number)
{
    int digits = 0;
    while (number) {
        number /= 10;
        digits++;
    }
    return digits;
}

int get_n_digit(int number, int which)
{
  if(which > num_digits(number))
  {
    printf("This number %d does not have that many digits: %d\n",number, which);
    return -1;
  }

  int to_return = number;
  int i = 0;
  for(i = 0; i < num_digits(number) - which;i++)
  {
    int digit = number % 10;
     to_return /= 10;
  }
  printf("get_n_digit(%d,%d)=%d\n",number,which, …
Run Code Online (Sandbox Code Playgroud)

c for-loop

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

从std :: istream读取时,是否有比reinterpret_cast <char*>更好的选项?

我有以下代码:

std::istream is;
// ... stream initialization ... 
while(is)
{
  uint32_t next4Bytes = 0;
  is.read(reinterpret_cast<char*>(&next4Bytes), 4);
  if(next4Bytes == 218893066)
  {
    is.seekg(-4, std::ios_base::cur);
    break;
  }
  else
    is.seekg(-3, std::ios_base::cur);
}
Run Code Online (Sandbox Code Playgroud)

有没有比reinterpret_cast<char*>从4个字节读std::istream入更好的方法uint32_t?(显然不是c式演员)

c++ binaryfiles istream readfile

0
推荐指数
2
解决办法
269
查看次数

std :: conditional_variable :: notify_all不会唤醒所有线程

我在这里有一个简单的例子:

自从我尝试学习c ++ 11线程以来,该项目可称为学术性的.这是对正在发生的事情的描述.

想象一下,如果std::string有大量的汇编源代码,那就非常大

mov ebx,ecx;\r \nmov eax,ecx;\r \n ......

Parse()function接受此字符串并通过标记行的开头和结尾并将其保存string::const_iterators在作业队列中来查找所有行位置.

之后,2个工作线程从队列中弹出此信息,并将子字符串解析为Intstuction类对象.他们将结果的Instruction类实例推送到std::vector<Instruction> result

这是一个结构声明,用于保存要解析的子字符串的行号和迭代器

struct JobItem {
    int lineNumber;
    string::const_iterator itStart;
    string::const_iterator itEnd;
};
Run Code Online (Sandbox Code Playgroud)

那是一个小记录器......

void ThreadLog(const char* log) {
    writeMutex.lock();
    cout << "Thr:" << this_thread::get_id() << " " << log << endl;
    writeMutex.unlock();
}
Run Code Online (Sandbox Code Playgroud)

这是共享数据:

queue<JobItem> que;
vector<Instruction> result;
Run Code Online (Sandbox Code Playgroud)

以下是同步的所有原语

condition_variable condVar;
mutex condMutex;
bool signaled = false;

mutex writeMutex;
bool done=false;
mutex resultMutex;
mutex queMutex;
Run Code Online (Sandbox Code Playgroud)

每线程功能

void Func() {
    unique_lock<mutex> condLock(condMutex); …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading condition-variable thread-synchronization c++11

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

我怎么会chown grep发现的一切

我希望chown包含单词"hi"的所有文件

我现在有

grep -r $1 $2
if [ $? -eq 0 ]; then
        echo "Found text"
        echo $match
        echo "start"
Run Code Online (Sandbox Code Playgroud)

输入是诸如此类的 ./test.sh "hi" *

我能够获得包含hi的所有文件,但是当我尝试chown时,我不知道放置什么管道我知道你可以将变量传递给下一个参数,例如;

grep -r $1 $2 | chown user1:root *
Run Code Online (Sandbox Code Playgroud)

但这似乎只是做整个目录,这不是我想要的.

有关阅读或调查的内容的任何建议?

linux bash shell

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

是否定义了函数参数中的内部执行顺序?

我们假设我们有以下代码片段:

void foo(std::unique_ptr<Data> p1, std::unique_ptr<Data> p2){
    bar(p1);
    bar(p2);
}

int main(){
    foo( std::unique_ptr<Data>{new Data}, std::unique_ptr<Data>{new Data});
}
Run Code Online (Sandbox Code Playgroud)

问题是:运行此代码时是否会释放内存(无论发生什么情况)?

标准说我们不能依赖语句的顺序作为函数参数,但内部函数调用/内存分配等呢?它在这里重要吗?

c++ operator-precedence dynamic-memory-allocation c++11

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

什么是接口断言?

我刚刚在这篇博文中看到了这段代码

type Logger interface {
    Debug(msg string, keyvals ...interface{}) error
    Info(msg string, keyvals ...interface{}) error
    Error(msg string, keyvals ...interface{}) error
}

type tmLogger struct {
    srcLogger kitlog.Logger
}

// Interface assertions
var _ Logger = (*tmLogger)(nil) // What is this?

// ... interface definition ...
Run Code Online (Sandbox Code Playgroud)

什么是"接口断言"?

interface go assertion

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

我可以将文本的默认类型定义为对象类型内的关键字吗?

假设我有以下映射:

{
    "mappings": {
        "_doc": {
            "properties": {
                "id":       {"type": "keyword"},
                "params":   {
                    "type": "object",
                },
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

params有很多带有数字和文本值的字段。我不想指定它的所有字段,但我想指定所有文本字段都应该是类型,keyword而不是text默认类型并进行分析(我想避免)。

我怎样才能做到这一点?我正在使用 ElasticSearch 6.7

mapping elasticsearch elasticsearch-6

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

这个代码中"body"指的是什么?

我有这段简单的代码 jQuery

$(document).ready(function() {
    $('#switcher').click(function(event) {
           if ($(event.target).is('.button')) {
            $('body').removeClass();
                if (event.target.id == 'switcher-narrow') {
               $('body').addClass('narrow');
            }
            $('#switcher .button').removeClass('selected');
            $(event.target).addClass('selected');
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

对于这个HTML代码:

<body>
    <div id="switcher" >
        <h3>Style Switcher</h3>
        <div class="button selected" id="switcher-default">
        Default
        </div>
        <div class="button" id="switcher-narrow">
        Narrow Column
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我有一个非常简单但棘手的问题(至少对我而言):body指的是什么?

我想它会封装所有东西,#switcher但是我的h3风格会在点击时消失.

javascript jquery

-1
推荐指数
1
解决办法
80
查看次数

如何在一个查询中使用内连接和交叉连接?

我有一个任务是编写一个使用单个内连接和交叉连接的查询.我已经写过的应该返回相同结果的查询如下所示:

SELECT T.PRICE, S.ROW, S.NUMBER, M.TITLE  
FROM 
[cinema_no_keys].[dbo].[TICKET] T cross join 
[cinema_no_keys].[dbo].[MOVIE] M cross join 
[cinema_no_keys].[dbo].[SEAT] S cross join 
[cinema_no_keys].[dbo].[SHOW] SH
WHERE
T.ID_SEAT = S.ID_SEAT AND
M.ID_MOVIE = SH.ID_MOVIE AND
SH.DATE_HOUR = T.DATE_HOUR
Run Code Online (Sandbox Code Playgroud)

sql join inner-join cross-join

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