小编Mer*_*rni的帖子

在C#中交叉两个列表

我有两个清单:

  List<int> data1 = new List<int> {1,2,3,4,5};
  List<string> data2 = new List<string>{"6","3"};
Run Code Online (Sandbox Code Playgroud)

我想做类似的事情

var newData = data1.intersect(data2, lambda expression);
Run Code Online (Sandbox Code Playgroud)

如果,lambda表达式应该返回true data1[index].ToString() == data2[index]

c# intersection

46
推荐指数
3
解决办法
10万
查看次数

我使用copy_if错了吗?

我正在使用visual studio 2010,我正在尝试使用std :: copy_if,我想复制所有满足谓词的值.例如:

struct comp
{
    bool operator()(const int i) { return i == 5 || i == 7; }
};

int main()
{
    array<int, 10> arr =  { 3, 2, 5, 7, 3, 5, 6, 7 };
    vector<int> res;
    copy_if(arr.begin(), arr.end(), res.begin(), comp());

    for(int i = 0; i < res.size(); i++)
    {
        cout << res[i] << endl;
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,我得到:向量迭代器不可递增.

c++ predicate

29
推荐指数
4
解决办法
2万
查看次数

匿名命名空间

这两者有什么不同?

CPP文件:

namespace
{
    int var;
}
Run Code Online (Sandbox Code Playgroud)

要么

int var;
Run Code Online (Sandbox Code Playgroud)

如果两者都放在cpp文件中?我们在匿名命名空间中放置一个变量是不正确的,因此它可以仅用于该文件?但是,如果我们将一个全局变量放在一个cpp文件中,那个变量也不是私有的,因为你从来没有对.cpp文件进行包含吗?

c++ namespaces

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

Java是通过引用还是按值返回

我有一个HashMap:

private HashMap<String, Integer> cardNumberAndCode_ = new HashMap<String, Integer>();
Run Code Online (Sandbox Code Playgroud)

后来我这样做:

Integer balance = cardNumberBalance_.get(cardNumber);
System.out.println(balance);
balance = 10;
Integer newBalance = cardNumberBalance_.get(cardNumber);
System.out.println(newBalance);
Run Code Online (Sandbox Code Playgroud)

首先它打印1000,第二次打印1000,值不变.为什么java按值而不是通过引用返回Integer?

java reference hashmap

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

在使用VAO时,VBO中的交错是否会加快性能

当您使用交错的VBO而不是使用多个VBO时,通常会加快速度.这在使用VAO时也有效吗?

因为对于位置有一个VBO,对于法线等有一个VBO更方便.你可以在多个VAO中使用一个VBO.

opengl vertex-buffer arraybuffer

14
推荐指数
1
解决办法
6714
查看次数

未初始化的局部变量,默认为c ++ 11

打印b.k时为什么打印会发出警告a.k?我使用VS2013

//warning C4700: uninitialized local variable 'b' used
#include<iostream> 

using namespace std;

struct A {
  A() {};
  int k;
};
struct B {
  B() = default;
  int k;
};

int main() {
  A a;
  cout << a.k << endl;
  B b;
  cout << b.k << endl; // this gives a warning, uninitialized local variable

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ default-constructor undefined-behavior c++11

13
推荐指数
1
解决办法
2677
查看次数

以二进制格式将数字写入lua文件

我有一个很大的数组,我想写一个文件.

但如果我这样做:

local out = io.open("file.bin", "wb")
local i = 4324234
out:write(i)
Run Code Online (Sandbox Code Playgroud)

我只是将数字作为字符串写入文件.如何为要归档的数字写入正确的字节.我怎么能在以后阅读它.

io lua binaryfiles

7
推荐指数
2
解决办法
5033
查看次数

模板是如何工作的,它们总是内联吗?

如果他们被内联,我可以理解它是如何工作的.但如果他们不是,它是如何工作的?是否所有目标文件都获得了自己的副本,例如函数模板?

c++ templates inline

6
推荐指数
1
解决办法
6019
查看次数

没有模板的分配器

每个 stl 容器都采用一个分配器作为参数:

template < class T, class Allocator = allocator<T> > class vector;
Run Code Online (Sandbox Code Playgroud)

如果您编写自己的类,则可以使用自己的分配器。但是是否可以在不使用模板的情况下编写自己的分配器?

例如,如果不允许使用模板,则编写此函数并不容易

 pointer allocate(size_type n, const_pointer = 0) {
    void* p = std::malloc(n * sizeof(T));
    if (!p)
      throw std::bad_alloc();
    return static_cast<pointer>(p);
  }
Run Code Online (Sandbox Code Playgroud)

因为你怎么知道 T 的大小呢?

c++ templates memory-management

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

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