小编0x4*_*2D2的帖子

使用向量中每个对象的函数

我编码一个enigma机器并且在我的向量中使用元素时遇到问题,只将分段错误作为错误.我需要在单个字符的向量中使用每个转子中的一个函数,在迭代器移动时转换字符,一次向前遍历列表,一次向后转换.我已经注释掉其他转换以隔离问题.

Machine.cpp

#include "Machine.h"

using namespace std;

Machine::Machine(const vector<Rotor>& rots, const Plugboard & pb)
    : rotors(rots), plugboard(pb) {}

// give c's alphabet index
int Machine::getPosition(char c) {
    if (c >= 'A' && c <= 'Z') {
        return c - 'A';
    } else {
        cout << "not an accepted character";
        return -1;
    }
}

// give letter at index i in alphabet
char Machine::atPosition(int i) {
    assert(i >= 0 && i <= 25);
    return "ABCDEFGHIJKLMNOPQRSTUVWXYZ" [i];
}

char Machine::encode(char c) { …
Run Code Online (Sandbox Code Playgroud)

c++ iterator vector object

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

重载++和+运算符

为什么我可以++在LHS和RHS中重载并使用运算符,而+只能在LHS模式下工作?

class B {
public:

    string operator ++ () { return "hello"; }
    string operator + () {  return "hello2"; }
};

int main ()
{
    B b;
    string s = +b ;
    s = b+ ; // compile error syntax error : ';'    

    s = b++; 
    s = ++b;

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

c++

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

当获取unique_ptr的所有权的函数抛出异常时,对象破坏

如果函数Foo()将所有权转移std::unique_ptr到函数Bar()并且说Bar()抛出异常,则包含的对象std::unique_ptr将被销毁.

Foo()在这种情况下,如何处理可能希望保留所有权的案例.

class A
{
public:
    std::unique_ptr<SomeData> getSomeData(...);
};

class B
{
public:
    pushToQ(std::unique_ptr<SomeData>);
    doSomething()
    ...
    popFromQ();
    ...
};
Run Code Online (Sandbox Code Playgroud)

现在,如果B::pushToQ()抛出,QueueFullException我将丢失getSomeData()我可能不想要的数据.

c++ unique-ptr c++11

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

如何计算两个负整数之间的总和C ++

我创建了一个函数,该函数应该能够计算2个整数(正负)之间的加法,乘法和平方根。但是,我的代码仅适用于正整数。

例如,如果我插入3和5,它将计算(3)+(4)+(5)= 12,但是如果我输入-3和-5,答案将为0。如果我输入5,也会发生相同的情况作为我的第一个整数,然后是3作为我的第二个整数,而不是第3个然后是5。我无法弄清楚我的代码出了什么问题。我非常感谢您的指导并为我的问题提供帮助!

int calculate(int num1, int num2, char op) {
  int answer, x;

  if (op == 'a') {
    answer = 0;
    for (x = num1; x <= num2; x++) {
      answer += x;
    }
  }

  if (op == 'm') {
    answer = num1;
    for (x = num1 + 1; x <= num2; x++) {
      answer = answer * (x);
    }

    if (op == 's') {
      answer = 0;
      for (x = num1; x <= num2; x++) {
        answer = …
Run Code Online (Sandbox Code Playgroud)

c++

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

while语句的一些好用途是什么?

每当我想到使用它时while loop,我都不明白为什么我不能只使用它if statement.我知道while循环运行'while'给定的语句是真的,但是如果条件瞬间在块内终止,那么我无法看到发生的任何事情,而'有些事情是真的.如果有人能给我一些如何/为什么我应该使用的例子while loop.非常感谢.

javascript

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

jQuery代码行为错误

jQuery没有按照它应该的方式工作,完全忽略了逻辑.

如果我单击一个链接,它会显示给定的描述,并淡化其他菜单.
如果我再次单击相同的链接,它应该隐藏该描述,并淡化其他链接.

但它只是隐藏文本,并且不会淡化它们.
当从控制台单独运行代码时,当您单击段落旁边的空白时,它可以正常工作.

网站供参考

jQuery的:

    $('a[class]').click(function(){
    var clas = $(this).attr('class');
        $('#'+clas.substring(0,2)).fadeTo('fast',1).removeClass('faded');
        $('p:not(#'+clas.substring(0,2)+')').fadeTo('fast',0.3);
        $('.ans:visible').toggle('slow');
        $('#'+clas.substring(0,2)+'a'+':hidden').fadeIn('slow');
        $('p:not(#'+clas.substring(0,2)+')').addClass('faded');
        return false;
    });
    $('p:not(p.faded)').click(function(){
        $('.ans:visible').toggle('slow');
        $('p[class="faded"]').fadeTo('fast',1).removeClass('faded');
    });
Run Code Online (Sandbox Code Playgroud)

HTML:

    <p id="q1">1. <a class="q1">Nem látom a kedvenc karakterem, hozzá tudod adni?</a>
    <br>
    <span id="q1a" style="display:none;" class="ans">
        Persze. Írj egy e-mail-t a <a href="mailto:djdavid98+mlptoday@gmail.com?subject=MLP Today Karakterkérés" target="_blank">djdavid98@gmail.com</a> címre a karakter nevével.
        <br>
        <span style="color:red">OC-kat és fillyket NEM adok hozzá.</span>
    </span>
    </p>

    <p id="q2">2. <a class="q2">Hogyan tudok karaktert választani?</a>
    <br>
    <span id="q2a" style="display:none;" class="ans">
        Látogass el a …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery jquery-plugins

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

C++继承构造函数

我有一个类,Tile它有一个带有Color对象参数的构造函数:

class Tile
{
public:
    static const int size = 32;

    Tile();
    Tile(Color &color);

    void render(int x, int y);

    Color getColor();

    ~Tile();
private:
    Color _color;
};
Run Code Online (Sandbox Code Playgroud)

然后我有一个子类,TileGrass继承Tile:

class TileGrass : public Tile
{
public:
    TileGrass();
    ~TileGrass();
};
Run Code Online (Sandbox Code Playgroud)

现在的问题是TileGrass需要Tile使用Color参数继承构造函数.但是,TileGrass对象已经知道它需要给超类提供什么颜色,所以我不想Color在创建新TileGrass对象时传入对象.在Java中,我可以这样做:

public class TileGrass extends Tile {

public TileGrass() {
    super(color object);
}
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在C++中做这样的事情?

c++ inheritance constructor

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

std :: shared_ptr初始化

有什么区别:

std::shared_ptr<int> p1 = std::shared_ptr<int>(new int);
Run Code Online (Sandbox Code Playgroud)

std::shared_ptr<int> p2 = (std::shared_ptr<int>) new int;
Run Code Online (Sandbox Code Playgroud)

哪个更好?为什么?

c++ shared-ptr c++11

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

我的代码中出现运行时错误,该错误说明如何通过最多修改一个元素来确定数组是否可以不减少

给定一个带有n整数的数组,您的任务是通过最多修改1个元素来检查它是否可以变小。我们定义一个数组,如果array[i] <= array[i + 1]对each 保持不变,则它是非递减的i (1 <= i < n)

我的代码是下面的代码。我在运行时遇到运行时错误,但无法确定错误是什么。我是编程新手,所以如果发现错误,请以最简单的方式进行说明。谢谢。

class Solution {
public:
  bool checkPossibility(vector<int> &nums) {
    bool status = false;
    int count = 0;

    for (int i = 0; i <= nums.size() - 2; i++) {
      if (nums[i] > nums[i + 1]) {
        count++;
      }
    }
    if (count > 1) {
      status = false;
    } else {
      status = true;
    }

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

我收到运行时溢出错误。

c++ arrays vector

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

构造函数可以在C++中保密吗?

构造函数可以在C++中是私有的吗?如果是,那我们怎么称呼呢?

class Puma
{
    int a = 10;
    Puma()
    {
        cout << a;
    }
};

int main()
{
    Puma pum;
    return o;
}
Run Code Online (Sandbox Code Playgroud)

这个程序可以运行吗?如果没有那么我们如何调用Puma()构造函数,因为它是私有的?

c++

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