小编JAS*_*SON的帖子

错误:将xxx作为xxx的'this'参数传递丢弃限定符

#include <iostream>
#include <set>

using namespace std;

class StudentT {

public:
    int id;
    string name;
public:
    StudentT(int _id, string _name) : id(_id), name(_name) {
    }
    int getId() {
        return id;
    }
    string getName() {
        return name;
    }
};

inline bool operator< (StudentT s1, StudentT s2) {
    return  s1.getId() < s2.getId();
}

int main() {

    set<StudentT> st;
    StudentT s1(0, "Tom");
    StudentT s2(1, "Tim");
    st.insert(s1);
    st.insert(s2);
    set<StudentT> :: iterator itr;
    for (itr = st.begin(); itr != st.end(); itr++) {
        cout << itr->getId() …
Run Code Online (Sandbox Code Playgroud)

c++

412
推荐指数
4
解决办法
38万
查看次数

"new int(100)"有什么作用?

可能重复:
这是变量还是函数

我错误地使用了类似的东西:

int *arr = new int(100);
Run Code Online (Sandbox Code Playgroud)

它通过编译,但我知道这是错的.它应该是

int *arr = new int[100];
Run Code Online (Sandbox Code Playgroud)

当我写错了编译器时,编译器会怎么想?

c++ new-operator

38
推荐指数
3
解决办法
5万
查看次数

有"accummulate_if"吗?

是否有类似的功能,accummulate()但在执行操作时提供了一致的前提条件来过滤线性容器?我搜索accummulate_if但没有.谢谢!

更新:感谢所有的答案.我最终这样做:

std::for_each(v.begin(), v.end(), [&](int x){if (Pred) sum += x;});

c++ stl

19
推荐指数
3
解决办法
4653
查看次数

在c/c ++中添加两个bool值

我试着将bool值加在一起,说:

bool i = 0, j = 0, k = 0;
cout << sizeof(i + j + k) << endl;

结果为4,表示结果转换为'int'值.

我想问一下:这是一个C/C++标准操作吗?编译器是否始终保证临时值在溢出时转换为更大的类型?谢谢!

谢谢你的答案,一个跟进问题:如果我这样做: unsigned short i = 65535, j = 65535; cout << sizeof(i + j) << endl; 结果是4.为什么它被提升为'int'?

c++

10
推荐指数
1
解决办法
9341
查看次数

Using std::remove to delete pointer elements

I'm trying to do

remove(pvec.begin(), pvec.end(), NULL);
Run Code Online (Sandbox Code Playgroud)

to remove NULL pointers in the vector (where pvec is vector<Node*>)

However, the compiler gives:

"ISO C++ forbids comparison between pointer and integer"

How to resolve this? Thanks!

c++

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

处理一元减去分流码算法

在将中缀表达式转换为后缀表达式时,是否有更好的方法来处理一元" - "?

显而易见的是每个一元" - "前缀为0.是否有人知道更好的实现?谢谢!

algorithm rpn shunting-yard

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

如何禁用Xcode的自动缩进?

如何禁用当我点击"返回"时,光标将被放置在带有标签的下一行的功能?

xcode indentation

7
推荐指数
1
解决办法
9193
查看次数

均匀分布的随机数生成

为什么这段代码会生成均匀分布的数字?我理解它有些困难.有人能解释一下吗 谢谢.

int RandomUniform(int n) {  
  int top = ((((RAND_MAX - n) + 1) / n) * n - 1) + n;  
  int r;  
  do {  
    r = rand();  
  } while (r > top);  
  return (r % n);  
}
Run Code Online (Sandbox Code Playgroud)

更新:我明白为什么rand()%n不会给你一个均匀分布的序列.我的问题是为什么

top = ((((RAND_MAX - n) + 1) / n) * n - 1) + n;
Run Code Online (Sandbox Code Playgroud)

这里有什么问题?我认为一个简单的顶部= RAND_MAX/n*n就行了.

c++ math

6
推荐指数
2
解决办法
4502
查看次数

二进制表达式的无效操作数(“ ostream”(又名“ basic_ostream &lt;char&gt;”)和“ ostream”)

我正在努力

cout << Print(cout); 但是,编译时出现“对二进制表达式无效的操作数('ostream'(又名'basic_ostream')和'ostream')”的错误。

#include <iostream>

using namespace std;

ostream& Print(ostream& out) {
  out << "Hello World!";
  return out;
}

int main() {
  cout << Print(cout);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用?我怎样才能解决这个问题?谢谢!!

c++

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

数组作为参数

当我将数组作为参数传递时,我想知道哪一个是最好的?

void function(int arr[]) {...};
Run Code Online (Sandbox Code Playgroud)

要么

void function(int* arr) {...};
Run Code Online (Sandbox Code Playgroud)

你能告诉我你的理由吗?你可以参考哪本书?谢谢!

c++

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

标签 统计

c++ ×8

algorithm ×1

indentation ×1

math ×1

new-operator ×1

rpn ×1

shunting-yard ×1

stl ×1

xcode ×1