小编Bo *_*son的帖子

使用std :: vector的奇怪分段错误

看看这个片段:

#include <string>
#include <iostream>
#include <vector>

using namespace std;

class base {
public:
  string foo;
  base() {};
  base(const base &orig) {
    this->foo = orig.foo;
  };
 ~base() {} ;
};

class derived : public base {
public:
  string bar;
  derived(const derived &orig) : base(orig) {
    this->bar = orig.bar;
  }
  derived() : base() {} ;
  ~derived() {};
};

void asd(derived d)
{
    // works fine
    cout << d.foo << d.bar << endl;
}

int main(void)
{
    vector<derived> v;

    derived bla;

    bla.foo …
Run Code Online (Sandbox Code Playgroud)

c++ stl segmentation-fault

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

为什么在wav文件头中有0x4e0而不是0x0?

我有一个名为"file.wav"的wav文件,我想用C程序读取该文件的一些规范.我在这里找到了wav文件的结构.根据这个文档,在普通的wav文件中,AudioFormat字节应该是0x1和0x0,或者NumChannels字节应该是(如果是单声道)0x1和0x0; 有很多类似的部分应该看起来像这些.

现在,我的C程序非常简单:我以二进制模式打开文件,我寻找AudioFormat部分(第20个字节),我读取两个字节,然后将它们放入缓冲区; 然后我打印到stdin缓冲区内容.

#include <stdio.h>

main()
{
    void *buf[2];
    FILE *f;
    f=fopen("file.wav", "rb");

    fseek(f, 20, SEEK_SET); 
    fread(buf, 1, 2, f);
    printf("example: %#hx %#hx\n", buf[0], buf[1]);
/*the '#' flag stands for the 0x[···] format output, 
the 'h' says that the number is a short integer (2 bytes).*/


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

我的问题是第二个字节而不是0x0总是0x4e0,这对于每个应该为0的字节(例如对于NumChannels或BitPerSamples字节也是如此).问题是什么?

c binaryfiles wav

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

简单的记忆问题练习

我主要使用高级编程语言,昨天有朋友让我帮他解决一个简单的C++练习,当我正在研究它时,我编写了这段代码:

for (int x = 0; x < 10; x++){
    int a, b, c;
    a = x;
    b = x*2;
    c = x+5;
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:这是否会导致内存泄漏,使a,b,c始终在内存的不同位置创建,或者它们是否总是被每个循环覆盖?

c++ memory-leaks memory-management

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

使用malloc和new - C++

我是C/C++的新手,也是开发C++应用程序的人.我遇到new和malloc的问题.我的应用程序有点复杂,也有一些C结构.在某些时候,我想为MyData类型的Class(包含一个deque)分配新的内存,后来我将该指针分配给C结构中的指针.我的代码的较小版本如下.

#include <deque>
class MyData 
{
public:
    MyData(){};
    ~MyData() {};

    std::deque<int>& GetDequeMyDataSet() {return deque_MyDataSet; };

private:
    std::deque<int>     deque_MyDataSet;//contains ohlc data for the symbol   
};

int _tmain(int argc, _TCHAR* argv[])
{
    MyData* pMyData = new MyData();
    MyData* p_Data = (MyData*)malloc(sizeof(MyData*));
    p_Data = pMyData;
    p_Data->GetDequeMyDataSet().push_back(10);
    p_Data->GetDequeMyDataSet().push_back(11);
    //.... Several other push back and operations releated to this deque goes here. 
    delete pMyData;// At the end I free both memories.
    free(p_Data);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在为两个指针分配内存后,我在malloc指针(p_Data)上使用了GetDequeMyDataSet()方法.我的问题是,将mall_back项目推送到此malloc指针的deque是否可以,因为我只为指针分配了内存?malloc可以为deque处理动态内存分配吗?

c++ malloc

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

C ++反转字符串

我试图在revStr.at(j)= str.at(size);下面的c代码行中反转一个字符串;

不会更改revStr中的任何元素。

还有另一种不用任何库就可以做到的方法。

#include <iostream>
#include<sstream>
#include <iterator>
using namespace std;


int main() {

    ostringstream d;

    long long c = 123456789;
    d << c;
    //cout << c << endl;
    string str = d.str();
    //cout << str.at(0) << endl;
    int size = str.size() - 1;
    //cout << size << endl;
    ostringstream e;
    e << str;
    string revStr = e.str();

for (int i = size; size==0; size--) {
    //cout << str.at(size);

        int j = 0;
        revStr.at(j) = str.at(size);
        j++;

} // …
Run Code Online (Sandbox Code Playgroud)

c++ string

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

在C++中为类私有成员保证内存顺序吗?

class my_class_t {

private:
    uint64_t field1;
    uint64_t field2;
};
Run Code Online (Sandbox Code Playgroud)

C++标准是内存的顺序field1field2保证吗?

UPD.答案field2说它是,但&field2可能不等于&field1 + 1.如何确保field2将在之后立即field1

c++ class-members c++14

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

在 C++11 中生成一个随机字符串?

我需要使用 C++11 生成随机字符串的帮助。

我不知道如何继续,如果你能帮助我。

#include <random>
char * random_string()
{

        static const char alphabet[] = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    static const MAX_LEN = 32;  //MAX LENGTH OF THE NEW CHAR RETURNED
    int stringLength = sizeof(alphabet)/sizeof(alphabet[0]);

    for (int i = 0; i<=MAX_LEN;i++)
    {
        //now i don't know what i need to do help!
    }

    static const char test[MAX_LEN];

    return test;

}
Run Code Online (Sandbox Code Playgroud)

c++ c++11

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

双因素认证机制

我试图模仿RBS英国网站的类似系统.我实际上增加了实验的安全性.所以我在输入页面上使用了员工ID和验证码机制,一旦用户输入了正确的员工ID和验证码,就会要求输入用户名和密码.所以我想知道从安全的角度来看..那里有员工ID以及Captcha它有什么意义吗?或者解释很简单,作为识别用户的另一件事.让我知道你的意见.

困惑?那么好吧.无论如何,谢谢你

security

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

键入#include <iostream>时,是否包含模板?

我只是想知道,因为如果你打字#include <map>,你就包括了地图模板.

c++

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

在XCODE中开发的iPhone中运行应用程序

我需要在iPhone上运行我在Xcode中创建的应用程序.它在模拟器中工作正常.我有一个开发人员的帐户,但我没有iPhone SDK.这是棘手的部分:

我使用Cocoa-touch开发了iOS SDK应用程序.现在所有那些监狱破坏的东西都不会在那里工作.我的Mac Mini中没有像/ Developer这样的文件夹.

请帮我在iPhone上运行它来测试它在真实设备上的外观,而不是在模拟器上.

请注意,我没有iPHONE SDK,因此所有越狱技术都无效.或者至少我无法实现.

iphone xcode jailbreak ios

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