小编luc*_*one的帖子

使用参数化函数c ++

说我有一个C++函数

int foo(int x, int y){
   return x+y ;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法创建此功能的"参数化"版本?

我的意思是从foo()开始我想定义y固定为特定值的函数指针,相当于创建函数foo2(),如下所示:

int foo2(int x){
  return foo(x,2);
}
Run Code Online (Sandbox Code Playgroud)

如果没有函数指针,哪个可以替代具有类似的行为?

c++ function-pointers function

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

使用指向其他方法的指针在构造函数中分配C++方法:我做错了什么?

我写了以下代码:

#include <iostream>
using namespace std ;
class C{
 public:
   C::C(int) ;
   int f1(int);
   int f2(int);
   int (*f)(int);   
}

int C::f1(int x){
   return -x ;
}

int C::f2(int x){
   return x;
}

C::C(int c){
  if (c<0){
    f = f1 ;
   }
  else {
    f = f2 ;
  }
}
Run Code Online (Sandbox Code Playgroud)

这段代码不起作用,但我的想法是我希望根据传递给构造函数的值将方法f分配给f1或分配f2.

我怎样才能在C++中实现这一目标?

c++ methods constructor pointers function

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

删除行首的数字

我有一个文件"file.txt",其中一些行以数字开头.

例如file.txt:

1 bla bla 390
23 foo foo 100
# bar bar 

some word

45 junk
Run Code Online (Sandbox Code Playgroud)

是否有一种简单快捷的方法可以从以数字开头的所有行中删除数字(和空格),同时只删除其他行的空格?

我想要一个命令,以便该文件看起来像:

bla bla 390
foo foo 100
# bar bar 

some word

junk
Run Code Online (Sandbox Code Playgroud)

regex vim

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

HIVE ODBC连接器设置

我将unixodbc配置为在我的Linux Mint机器中使用cloudera的hive连接器,但是在尝试连接到hive时我一直收到以下错误(例如使用isql -v hive)

S1000][unixODBC][Cloudera][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function.
[ISQL]ERROR: Could not SQLConnect
Run Code Online (Sandbox Code Playgroud)

我想我以正确的方式设置了/etc/odbcinst.ini和〜/ .odbc.ini:

# content of /etc/odbcinst.ini
[hive]
Description = Cloudera ODBC Driver for Apache Hive (64-bit)
Driver=/opt/cloudera/hiveodbc/lib/64/libclouderahiveodbc64.so
ODBCInstLib=libodbcinst.a(libodbcinst.so.1)
UsageCount  = 1
DriverManagerEncoding=UTF-16
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/
LogLevel=0
SwapFilePath=/tmp
Run Code Online (Sandbox Code Playgroud)

和我的〜/ .odbc.ini文件包含:

[hive]
Description=Cloudera ODBC Driver for Apache Hive (64-bit) DSN 
Driver = hive
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/
# Values for HOST, PORT, KrbHostFQDN, and KrbServiceName should be set here.
# They can also be specified on the connection string.
HOST= …
Run Code Online (Sandbox Code Playgroud)

odbc hadoop hive unixodbc cloudera

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

在哪里保存我的C++库?(Ubuntu的)

我不确定这是一个严格的编程问题,所以如果不是,我会道歉.

我用C++开发了一些库,我想在几个不同的项目中使用它们.直到现在我一直在各种项目的文件夹中复制更新的库.你可以想象这不是理想的,所以我想创建一个"第三方"文件夹,我保存我写的库和将来可能下载的其他库.

我怎样才能做到这一点?考虑到我以后想要分享/发布我的代码,以确保所使用的代码包含在我部署的代码中的最佳策略是什么?

c++ linux libraries

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

如何创建模板函数,其中容器和类型都是参数?

这可能是一个微不足道的问题,但让我发疯.我想定义一个函数foo(),将与像不同的容器工作: vector<int>,vector<double>,set<int>set<double>.

我试图像这样定义foo:

template<typename CONT, typename T>
   int foo(CONT<T>){
      //evaluate x
      return (int) x ;
   }
Run Code Online (Sandbox Code Playgroud)

这种定义不起作用,但我不明白为什么.

我怎样才能达到类似的效果?

c++ templates

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