小编tem*_*def的帖子

为什么在使用类似逻辑增加两种不同的指针类型时,我会得到不同的地址?

我不明白为什么我的花车的地址上升了16,当我的花车的大小是4.有人可以解释一下吗?

码:

char* mychar   = new char[SIZE];
float* myfloat = new float[SIZE];

for(int i = 0; i < SIZE; i++)
{
    mychar[i] = 'A' + i;
    myfloat[i] = 101 + i; 
}

for(int i = 0; i < SIZE; i++)
    {
        cout << setw(12) << "new char @ <"  << static_cast<void*>(mychar) + sizeof(char)*i  << ">=<" << mychar[i]  << ">" 
             << setw(14) << "   new float @ <" << myfloat + sizeof(float)*i                    << ">=<" << myfloat[i] << ">\n"; 
    }

cout<< "Size …
Run Code Online (Sandbox Code Playgroud)

c++ pointers pointer-arithmetic

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

在另一个的末尾添加一个向量

有没有一种方法可以在另一个向量的末尾添加一个向量?例如,如果我的向量是

std::vector<int> v1(3);
std::vector<int> v2(3);

/* ... initialize vectors ... */
/* ... for example, v1 is 1 2 3 and v2 is 4 5 6 ... */
Run Code Online (Sandbox Code Playgroud)

这是最聪明的方式添加v2到最后v1(即获得v1= 1 2 3 4 5 6)而不使用循环和push_back

c++ vector

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

是否有可能设计一个节点有无限多个孩子的树?

如何设计一个有很多(无限数量)分支的树?

我们应该使用哪种数据结构来存储子节点?

algorithm tree binary-tree data-structures

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

C++返回值显示-858993460

我是c +的新手,并试图创建一个汽车类程序,要求用户一年和汽车制造.然后程序采取速度,始终从0开始,加速5mph 5次,并以5英里/小时制动5次.我必须使用头文件和2个cpp文件创建程序.速度的返回值不正确,并显示为:

输入汽车年份:2000输入汽车品牌:雪佛兰起始速度为-858993460

目前的速度是:-858993455英里每小时.

目前的速度是:-858993450英里每小时.

目前的速度是:-858993445英里每小时.

目前的速度是:-858993440英里每小时.

目前的速度是:-858993435英里每小时.

目前的速度是:-858993440英里每小时.

目前的速度是:-858993445英里每小时.

目前的速度是:-858993450英里每小时.

目前的速度是:-858993455英里每小时.

目前的速度是:-858993460英里每小时.

按任意键继续 ...

任何人都可以帮我弄清楚我做错了什么?到目前为止,我已经附上了我的内容.任何帮助是极大的赞赏.谢谢

#define CAR_H
#include <string>
using namespace std;

class Car 
{
   private:
        int yearModel;
        string make;
        int speed;

    public:
        Car(int, string);
    void accelerate();
        void brake();
       int getSpeed ();

};

#include <iostream>
#include "Car.h"
using namespace std;

Car::Car(int carYearModel, string carMake)
{
    int yearModel = carYearModel;
    string make = carMake;
int speed = 0;
}

void Car::accelerate()
{
    speed += 5;
}

void Car::brake()
{ …
Run Code Online (Sandbox Code Playgroud)

c++ return-value

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

后缀在后缀数组中排序的重要性是什么?

我知道后缀数组本身的定义是它是一个字符串所有后缀的排序数组.但我试图了解这种排序操作的重要性在这里?假设我们创建了一个包含字符串所有后缀的数组,并选择不对其进行排序并继续构建LCP数组,当我们尝试解决诸如Longest Palindromic子字符串之类的常见问题时,我们在这种情况下会松动什么呢?最长的重复子串?

sorting string algorithm suffix-array data-structures

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

将独立集减少为派系?

证明给定图 G 和数字 k,有某种方法可以将其转换为图 H,使得 G 具有大小至少为 k 的独立集合,当且仅当 H 具有大小至少为 k 的团伙时。

graph np

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

在不旋转的情况下保持 AVL 树平衡

B树与AVL树一样是自平衡树。在这里我们可以看到如何使用左右旋转来保持 AVL 树平衡。

这里是一个解释 B 树插入的链接。如果我没记错的话,这种插入技术不涉及任何旋转来保持树平衡。因此它看起来更简单。

问题:是否有任何类似的(或任何其他不使用旋转的技术)来保持 avl 树平衡?

algorithm b-tree avl-tree data-structures tree-balancing

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

可能实现std :: equal_range

cppreference.com上的std :: equal_range文档显示了一个可能的实现:

template<class ForwardIt, class T>
std::pair<ForwardIt,ForwardIt> 
    equal_range(ForwardIt first, ForwardIt last,
                const T& value)
{
    return std::make_pair(std::lower_bound(first, last, value),
                          std::upper_bound(first, last, value));
}
Run Code Online (Sandbox Code Playgroud)

但这看起来更优,同时还很简单:

template<class ForwardIt, class T>
std::pair<ForwardIt,ForwardIt> 
    equal_range(ForwardIt first, ForwardIt last,
                const T& value)
{
    first = std::lower_bound(first, last, value);
    return std::make_pair(first,
                          std::upper_bound(first, last, value));
}
Run Code Online (Sandbox Code Playgroud)

因为这个解决方案非常明显,有什么理由不使用它?

c++ algorithm performance stl

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

如何在C ++中四舍五入十进制值?

例如,如果我有数字9.83333,并且想将其四舍五入为9.84或9.9。我怎样才能做到这一点?

c++ math rounding

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

为什么在哈希映射中查找项目比在数组中查找项目更快?

您可能在某个地方提到过在 hashmap/dictionary/table 中查找元素比在 list/array 中查找元素更快。我的问题是为什么?

(到目前为止我做出的推论:为什么它应该更快,据我所知,在这两种数据结构中,它必须遍历直到到达所需的元素)

arrays search list hashmap time-complexity

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