小编Pet*_*ood的帖子

如何将带有符号整数值的字符串转换为有符号整数?

我正在使用int(myString),myString =" - 1",我得到错误:

ValueError: invalid literal for int() with base 10: '"-1"'
Run Code Online (Sandbox Code Playgroud)

python type-conversion

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

复制构造函数:何时释放存储?

鉴于代码:

class Sample
{
 public:
      int *ptr;
      Sample(int i)
      {
      ptr = new int(i);
      }
      ~Sample()
      {
      delete ptr;
      }
      void PrintVal()
      {
      cout << "The value is " << *ptr;
      }
 };
 void SomeFunc(Sample x)
 {
     cout << "Say i am in someFunc " << endl;
 }
 int main()
 {
     Sample s1= 10;
     SomeFunc(s1);
     s1.PrintVal();
 }
Run Code Online (Sandbox Code Playgroud)

输出是:

Say i am in someFunc
Null pointer assignment(Run-time error)
Run Code Online (Sandbox Code Playgroud)

我无法理解为什么第二行输出来了.输出的第二行.我认为编译器在未明确指定时提供了复制构造函数.因此,在函数SomeFunc(Sample x)中,应该创建和销毁SomeFunc()的本地对象,它是Sample类型的X,并且main()中的Sample类型对象(s1)应该保持不变,并且应该只在之后释放主要出口.请回答上述行为发生的原因?

c++ copy-constructor

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

(char)0在c ++中的含义是什么?

是什么意思(char)0.

例如,这是什么意思?

array[1] = (char)0;
Run Code Online (Sandbox Code Playgroud)

c++ arrays char

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

字符数组中的null是否会阻止内存被删除?

有内存泄漏吗?

    const char * pname = "NAME";
    char * temp = new char[strlen(Name) + 64];
    sprintf(temp,"%s", pname);

    delete [] temp; // is there any memory leaks because now length of temp is 4.
Run Code Online (Sandbox Code Playgroud)

c++

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

字符串转换为const char*问题

我有这个问题,每当我尝试通过libcurls发送我的post_data1时,它会说错误的密码,但是当我在post_data2中使用固定表达式时,它会让我登录.而当我输出它们时,它们是完全相同的字符串..

任何人都可以告诉我为什么当libcurl将它们放入标题时它们不一样?或者在发送之前他们为什么会有所不同,如果是这样的话.

string username = "mads"; string password = "123"; 
stringstream tmp_s;
tmp_s << "username=" << username << "&password=" << password;
static const char * post_data1 = tmp_s.str().c_str();
static const char * post_data2 = "username=mads&password=123";

std::cout << post_data1 << std::endl;  // gives username=mads&password=123
std::cout << post_data2 << std::endl;  // gives username=mads&password=123

// Fill postfields
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, post_data1);

// Perform the request, res will get the return code
res = curl_easy_perform(curl);
Run Code Online (Sandbox Code Playgroud)

c++ string const char libcurl

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

推导模板参数

我编写了代码来构建二进制搜索树,还编写了一个bfs二进制搜索树来测试它是否有效,但我收到了很多错误,我调试它们已经很长时间了,无法找到错误.

#include<vector>

template<typename Key, typename Value>
struct BSTNode{
    Key key;
    Value value;
    BSTNode * left;
    BSTNode * right;
    BSTNode(Key k, Value v, BSTNode *l=NULL, BSTNode *r=NULL) :
    key(k), value(v), left(l), right(r) {}
};

template<typename Key, typename Value>
BSTNode<Key, Value>* min_height(std::vector<int> &v, int left, int right ) {
    if(left<=right){
        int mid=left+ (right-left)/2;
        BSTNode<Key, Value>* node=new BSTNode<Key, Value>(v[mid], v[mid]);
        node->left=min_height(v, left, mid-1 );
        node->right=min_height(v, mid+1, right );
        return node;
    }
}

int main(){
    std::vector<int> v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    BSTNode<int, int>* root=min_height(v, 0, …
Run Code Online (Sandbox Code Playgroud)

c++

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

一个班轮:查找字符串是否在字符串列表中

我正在寻找一个布尔一行,以查看特定的子字符串是否在字符串列表中.所以我可以在类似的东西中使用它

if( (condition1) and (condition2) and (python_one_liner) ):
  # Do some things here
Run Code Online (Sandbox Code Playgroud)

这有望取代以下内容:

if( (condition1) and (condition2) ):
  Condtion3 = False
  for str in list_of_strings:
    if( mystr in str ):
    Condition3 = True

  if( Condition3 ):
    # Do some things here
Run Code Online (Sandbox Code Playgroud)

一种显而易见的方法是简单地编写一个函数并在初始if语句中评估该函数.我想知道是否有更好的方法来做到这一点.

python string list

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

将数字的基数更改为给定数字

我必须编写一个递归函数,它在10个基数中得到一个数字(n)并将其转换为给定的数字基数(k)并返回一个列表,其中的组件是最终的数字,例如f(5, 3)必须得到[1, 2]基数3中的5是12,还是f(22, 3)必须结果[2, 1, 1].

这是我试过的代码:

def cb(n, k):
    b = []
    if n == 0:
        b.append(0)
    if n < k:
        b.append(n)
    if n == k:
        b.append(10)
    else:
        a = n // k
        b.append(n - ((n // k) * k))
        if a < k:
            b.append(a)
        else:
            cb(a, k)

    return b

print(cb(22, 3))
Run Code Online (Sandbox Code Playgroud)

实际上我对它有很多想法,但由于我不太擅长编写代码,所以我不能再进一步了.感谢您对我的代码的帮助和修改.

python

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

检查python列表中的所有项是否都包含子字符串

我有一个python列表,我从api得到:

ERRATA_PKG_LIST = []
packages_key = "packages"
for pkgs, package_name in errata_rhel_ver_dic.iteritems():
    if pkgs == packages_key:
       ERRATA_PKG_LIST.append(package_name)
print(ERRATA_PKG_LIST)
Run Code Online (Sandbox Code Playgroud)

输出:

[u'kernel-2.6.18-416.el5.i686',
 u'kernel-2.6.18-416.el5.x86_64',
 u'kernel-debug-2.6.18-416.el5.i686',
 u'kernel-debug-2.6.18-416.el5.x86_64',
 u'kernel-debug-devel-2.6.18-416.el5.i686',
 u'kernel-debug-devel-2.6.18-416.el5.x86_64',
 u'kernel-devel-2.6.18-416.el5.i686',
 u'kernel-devel-2.6.18-416.el5.x86_64',
 u'kernel-doc-2.6.18-416.el5.noarch',
 u'kernel-headers-2.6.18-416.el5.i386',
 u'kernel-headers-2.6.18-416.el5.x86_64',
 u'kernel-PAE-2.6.18-416.el5.i686',
 u'kernel-PAE-devel-2.6.18-416.el5.i686',
 u'kernel-xen-2.6.18-416.el5.i686',
 u'kernel-xen-2.6.18-416.el5.x86_64',
 u'kernel-xen-devel-2.6.18-416.el5.i686',
 u'kernel-xen-devel-2.6.18-416.el5.x86_64']
Run Code Online (Sandbox Code Playgroud)

我想检查列表中的每个项目是否包含子字符串:el5如果列表中的所有对象都包含el5,然后分配变量rhel ="rhel 5",我该如何实现?

python

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

不要修改程序,打印一些值作为输出 - 异常(?)作业

对我来说,我有一个不寻常的功课问题:

不要修改主函数,但更改它作为输出打印的程序:

  • 星期一
  • 是第一天
  • 一周中的

并且继承了给定的代码:

int main()
{
  cout << "is the first day\n";
}
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激 :)

c++

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

标签 统计

c++ ×6

python ×4

char ×2

string ×2

arrays ×1

const ×1

copy-constructor ×1

libcurl ×1

list ×1

type-conversion ×1