小编Dav*_*vid的帖子

binary_search in c ++意外行为

下面的片段给我回复0.我预计它会是1.这里发生了什么问题?

#include <iostream>
#include <iterator>
#include <ostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
  vector<int> v;
  int arr[] = {10,20,30,40,50};
  v.push_back(11);
  v.push_back(22);
  copy(arr,arr + sizeof(arr)/sizeof(arr[0]),back_inserter(v));  // back_inserter makes space starting from the end of vector v
  for(auto i = v.begin(); i != v.end(); ++i){
    cout << *i << endl;
  }
  cout << endl << "Binary Search -  "  << binary_search(v.begin(), v.end(), 10) <<endl; // returns bool 
}
Run Code Online (Sandbox Code Playgroud)

我正在使用gcc /usr/lib/gcc/i686-linux-gnu/4.6/lto-wrapper

c++ stl

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

带有不同对象的java-script comman操作符

我正在浏览一个使用这种语法的javascript插件库.以下语句在JavaScript中的语法意义是什么

simpleCart = function (options) {
    },$engine,cartColumnViews;
Run Code Online (Sandbox Code Playgroud)

后来代码在很多地方使用simpleCart.simpleCart在语句末尾引用了什么.

EDIT1:http://simplecartjs.org/assets/js/simpleCart-latest.php 搜索"main simpleCart对象"

javascript

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

会不会用C++调用Foo(Foo x){}?

我有一个关于C++语法/构造的查询:在什么情况下可以调用以下Foo(Foo x){}?我知道它不会被称为初始化,因为它们会调用复制构造函数

Foo a;
Foo x = a;
or 
Foo x(a);
Run Code Online (Sandbox Code Playgroud)

不是为了转换类型,因为传递给它的参数与类的类型相同

想不到调用Foo(Foo x){}的场景,或者它总是死代码.

class Foo { 
  public :
    Foo(Foo x){  // notice it is not not a Copy constructor!!, i intented it to make like ordinary ctor taking same class object
    }
    Foo(int x) : m_data(x){}
private :
  int m_data;
};
Run Code Online (Sandbox Code Playgroud)

c++

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

浮点中整数的精确表示

我试图理解浮点格式的整数表示.

由于IEEE浮点格式对于尾数只有23位,因此我希望任何大于1 << 22的整数只是近似表示.这不是我在g ++中观察到的

两个下面的cout打印相同的值33554432.

由于尾数部分是负责精度的部分,我们如何能够准确地表示(存储)需要超过23位的精确数字.

void floating_point_precision(){
  cout<< setprecision(10);
  float fp = (1<<25);
  cout<< fp <<endl;
  cout<< (1<<25) <<endl;
}
Run Code Online (Sandbox Code Playgroud)

作为基于以下答案的后续,为什么以下代码不执行"不等于",即使fp,i的打印都不同.

void floating_point_precision(){
  cout<< setprecision(10);
  float fp = ((1<<25)+1);
  cout<< fp <<endl;
  int i = ((1<<25)+1)  ;
  cout<< i <<endl;
  if(i != fp)
    cout<< "Not equal" <<endl;
}
Run Code Online (Sandbox Code Playgroud)

c++ floating-point precision

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

如何在 C++ 中对包含自定义对象的容器使用分区函数

我正在尝试使用 parititon() API 对存储在向量中的对象进行分区。我想调用一个函数对象将向量分成两半。以下代码给我编译错误。如何在 C++ 中做到这一点?

\n\n

partition.cpp:15:48: 错误: \xe2\x80\x98)\xe2\x80\x99 token\n auto itr = partition(v.begin(),v.end()-1, 之前预期的主表达式补偿);

\n\n
#include<iostream>\n#include<algorithm>\n#include<vector>\nusing namespace std;\nclass comp{\npublic:\n  bool operator()(const pair<int,int>& p1, const pair<int,int>& p2) {\n    return p1.first < p2.first;\n  }\n};\n\n\nmain(){\n  vector<pair<int,int> > v = { {1,2} , {3,4} , {5,6} ,{7,8} };\n  auto itr = partition(v.begin(),v.end()-1,comp);\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n

c++ stl c++11

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

linux中的proc,重启后修改后的值是否仍然存在?

我想修改/ proc/sys/kernel/sched_rt_runtime_us.重启后文件的更改是否仍然存在?内核何时读取此更新值?

linux linux-kernel

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

标签 统计

c++ ×4

stl ×2

c++11 ×1

floating-point ×1

javascript ×1

linux ×1

linux-kernel ×1

precision ×1