小编Rah*_*hul的帖子

找到毕达哥拉斯三元组,其中a + b + c = 1000

毕达哥拉斯三元组是一组三个自然数,a <b <c,其中,2 + b 2 = c 2

例如,3 2 + 4 2 = 9 + 16 = 25 = 5 2.

恰好存在一个毕达哥拉斯三元组,其中a + b + c = 1000.找到产品abc.

资料来源:http://projecteuler.net/index.php?section = problem&id = 9

我试过但不知道我的代码出错了.这是我在C中的代码:

#include <math.h>
#include <stdio.h>
#include <conio.h>


void main()
{
    int a=0, b=0, c=0;
    int i;
    for (a = 0; a<=1000; a++)
    {
        for (b = 0; b<=1000; b++)
        {
            for (c = 0; c<=1000; c++)
            {
                if ((a^(2) …
Run Code Online (Sandbox Code Playgroud)

c algorithm operators pythagorean

27
推荐指数
8
解决办法
5万
查看次数

为什么const_cast删除指针的constness而不是指向const的指针?

我理解它const_cast适用于指针和引用.

我假设输入const_cast应该是指针或引用.我想知道为什么如果输入是一个指针/引用,它不会删除constness const int

以下代码按预期工作.

  1. const_cast 多级指针

    int main()
    {
        using std::cout;
        #define endl '\n'
        const int * ip = new int(123);
        const int * ptr = ip;
        *const_cast<int*>(ptr) = 321;
        cout << "*ip: " << *ip << endl;  // value of *ip is changed to 321
    }
    
    Run Code Online (Sandbox Code Playgroud)

    但是当我尝试指向const int或引用时const int,该值似乎没有改变.

  2. const_cast 参考const int

    int main()
    {
        using std::cout;
        #define endl '\n'
        const int i = 123;
        const int & ri …
    Run Code Online (Sandbox Code Playgroud)

c++ const-cast

13
推荐指数
2
解决办法
1849
查看次数

从qml中的.txt或.csv文件中读取一行(Qt Quick)

我需要在模拟屏幕上显示一个字符串.为此,我应该从现有的Filename.txt/Filename.csv文件中读取文本.text参数更新,如下面的代码所示.我需要从文本文件中访问该字符串并在MarqueeText元素中使用它.Accessed字符串应在MarqueeText元素的文本字段中使用.

MarqueeText {
     id:scrolltext
     width: 255
     height: 48
     anchors.verticalCenter: parent.horizontalCenter
     text:   //i need to access the string in text file to be displayed
}
Run Code Online (Sandbox Code Playgroud)

请帮我解决一下这个.谢谢.

qt text qml

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

如何通过引用传递参数到模板类的成员函数?

我有一个带有构造函数的模板类,它接受参数作为参考.我正在寻找一种在调用函数中传递变量的方法.

template <typename T>
class Data : public ParentClass
{
    T m_data;
public:
    Data(T & data);
    T data() const;
};

template <typename T>
Data<T>::Data(T & data) : m_data(data)
{}

template <typename T>
T Data<T>::data() const
{
    return m_data;
}

int main()
{
    Data<bool> * d = new Data<bool>(true);
    std::cout << d->data() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

错误:没有构造函数"Data :: Data [with T = bool]"匹配参数列表参数类型的实例是:(bool)

c++ templates pass-by-reference

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

学习嵌入式系统需要一些点火

我对构建嵌入式设备的应用程序非常感兴趣.我是电气工程专业的第三年,我对编码,算法,Linux操作系统等充满热情.通过谷歌搜索,我发现Linux操作系统是嵌入式设备最好的操作系统之一(可能是/可能不是).我想为从事移动应用程序的公司工作.我是这个领域的新手/天真,我的技能包括C/C++和MySQL.我需要帮助才能开始进入嵌入式系统领域; 喜欢如何/从哪里开始,硬件先决条件,必要的编程技巧,以及什么样的嵌入式应用程序等我听说过ARM,固件,PIC微控制器; 但我什么都不知道,只需要对它们进行适当的介绍.

PS:我目前正在德克萨斯A&M大学阅读Bjarne Struotsup的C++ 讲座,其中的一章描述了嵌入式系统编程.

embedded programming-languages

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

运算符&lt;&lt;的全局重载不起作用,为什么?

我知道operator <<可以通过使其成为类的朋友功能而重载。例如,

struct Test
{
    std::string d_data;
    Test(const std::string & data) : d_data{data} {}
    friend std::ostream & operator<<(std::ostream & ostr, const Test & obj)
    {
        ostr << obj.d_data << '\n';
        return ostr;
    }
};

int main()
{
    Test t1("one");
    std::cout << t1;
    Test t2("two");
    std::cout << t2;
}
Run Code Online (Sandbox Code Playgroud)
one
two
Run Code Online (Sandbox Code Playgroud)

这似乎按预期工作。

但是,我无法理解为什么同样的方法对于全局过载不起作用。

#include <iostream>
#include <ostream>
#include <string>

std::ostream & operator<<(std::ostream & os, const std::string & s)
{
    os << s << '\n';
    return os;
}

int main() …
Run Code Online (Sandbox Code Playgroud)

c++ operator-overloading

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