小编Hul*_*ulk的帖子

复制构造函数以进行非动态分配

根据定义:当复制此类的对象时,复制指针成员,但不复制指向的缓冲区,导致两个对象指向同一个, 因此我们使用复制构造函数.
但在下面的类中没有复制构造函数,但它工作!为什么?为什么我不需要深度复制?

class Human
{
private:
    int* aValue;

public:
    Human(int* param)
    {
        aValue=param;
    }

    void ShowInfos()
    {
        cout<<"Human's info:"<<*aValue<<endl;
    }
};

void JustAFunction(Human m)
{
    m.ShowInfos();
}

int main()
{
    int age = 10;
    Human aHuman(&age);
    aHuman.ShowInfos();
    JustAFunction(aHuman);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)


输出:

人类信息:10
人类信息:10

c++

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

“未分配被释放的指针”

#include <iostream>
#include <fstream>
#include <cmath>
#include <string>
#include <sstream>

using namespace std;

class CFile {
public:
    CFile(string filename); 
    ~CFile();               
    void ReadFile();         
    void WriteFile(string outputFilename);   
    void Calculate();   
    string  m_filename;
    int     m_numberInput;
    double* m_xData;         
    double* m_yData;
    int     m_numberOutput;
    double* m_xDataOut;     
    double* m_yDataOut;
};

CFile::CFile(string filename)
{
    m_filename = filename;
    string line;             
    ifstream myfile(m_filename.c_str());

    if (myfile.is_open())     
    {
        getline(myfile,line);    
        myfile.close();          
        stringstream Str;        
        Str << line; 
        Str >> m_numberInput;
        m_xData = new double[m_numberInput];  
        m_yData = new double[m_numberInput];
        cout << sizeof(m_xData) / sizeof(m_xData[0]) << endl; …
Run Code Online (Sandbox Code Playgroud)

c++ pointers allocation class

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

无法在C++中打印指针的地址

我是c++新手。我写了这个程序。

#include <iostream>

using namespace std;

int main(void) {
    int x=24;
    char y='A';
    char* pchar=&y;
    int* pint=&x;

    cout <<"pchar= "<<hex<<&pchar<<endl;
    cout <<"pint = "<<hex<<&pint<<endl;
    cout <<endl;
    cout <<"pchar= "<<hex<<pchar<<endl;
    cout <<"pint = "<<hex<<pint<<endl;

    pchar=NULL;
    pint=NULL;
    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

及其结果 https://www.dropbox.com/s/wzxp1tkuqgw5p3g/Screenshot%202014-02-18%2022.52.29.png

你能帮我理解为什么我不能在没有 的情况下打印变量的地址吗&?我认为pchar已经是 的地址y

谢谢

c++

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

如何在c中创建正弦函数

我知道里面有一个sin函数,math.h但我想自己制作这个函数,只是为了好玩。我已经sin基于正弦函数的 Macluarin 展开创建了函数。 在此处输入图片说明

我写了一个幂函数和一个阶乘函数,它们从 正常工作main,但它们在sin函数中不起作用?

这是我的代码:

int main()
{
    int i;
    double y;
    printf("\n\nPlease enter a value to find corresponding sin value\n");
    scanf("%d",&i);
    y=sin(i);
    printf("\nYour value is\n %f",y);
    return 0;
}
    
double sin(int z)
{
    int i=1;
    double value,val2,val3,sum=0;
    for(i=1;i<33;i+=2)
    {
        val2=power(z,i);
        val3=factorial(i);
        value=val2/val3;
        if(((i-1)/2)%2!=0){
            sum=sum-value;    //((power(x,i))/factorial(i));
        }else
        {
            sum=sum+value;
        }
    }
    printf("\n%f\n",sum);
    return sum;
}

int factorial(int x)
{
    int i,sum=1;
    for(i=1;i<=x;i++)
    {
        sum = sum*i;
    }
    return sum; …
Run Code Online (Sandbox Code Playgroud)

c math

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

ArrayIndexOutOfBoundException与IndexOutOfBoundException

如果我们创建一个ArrayList像下面的虚拟,并get使用-11作为参数调用方法.然后我们得到以下内容output:

  • 对于测试案例1:它会抛出 ArrayIndexOutOfBoundException

  • 对于测试案例2:它会抛出IndexOutOfBoundException.

    List list = new ArrayList();
    list.get(-1); //Test Case 1
    list.get(1); // Test Case 2
    
    Run Code Online (Sandbox Code Playgroud)

请解释为什么这两者有区别?

java

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

更改链表中字符串的值

我是 C 的初学者,我希望有人可以帮助我。因此,我一直在尝试将字符串名称的值更改为另一个值,但是当我使用scanf. 例如,如果我像这样用函数手动插入push(&head, "Carlos")值,名称的值就会改变。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Node{
    char *name;
    struct Node *next;
};


void printList(struct Node *n){
    while (n != NULL){
        printf(" name: %s \n ", n->name);
        printf("....................................\n");
        n = n->next;
    }
}

void push(struct Node **head_ref,  char *name){
    struct Node *new_node = (struct Node *)malloc(sizeof(struct Node));
    new_node->name = name;

    new_node->next = (*head_ref);

    (*head_ref) = new_node;
}

int main(){
    struct Node *head = NULL;

    char name[20];

    printf("Insert a name");
    scanf("%s", …
Run Code Online (Sandbox Code Playgroud)

c string linked-list

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

从Java跳到C

好的,我一直在玩java一年,我可以说这是我编写一个功能齐全的程序的能力.

一个月前我开始研究向量,所以当我试图将它们实现到LWJGL中时,我意识到Java对于我希望生成的图形级别来说还不够快.

现在这是我的问题而且我已经决定我必须学习一门更强大的语言,但是我从哪里开始,我之前已经在C/C++中进行了修改,但它已经杀死了我已经使用了一年之后重新开始的野心.

我用于渲染矢量的"algors"是:

z = r(cos t + j sin t)//其中t是度,r是它的长度(对于好奇的)

程序继续循环,用1改变其长度,得到它的结束X和Y并在那个点上绘制一个像素.

不适用于游戏编码.

命名一个免费的电子书,让我的脚踏上C

c++ java lwjgl

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

这是匈牙利表示法吗?

开始了一份新工作,提供了我的第一份公关,并有很多评论意见,我个人认为这些评论是轻浮的.

虽然它很容易修复,我不相信这是匈牙利表示法,它只是明智的变量命名.

这是代码行:

final List resultTermsList = Collections.singletonList(resultTerm);
Run Code Online (Sandbox Code Playgroud)

这是我收到的评论:

不需要匈牙利表示法. resultTermsList -> resultTerms

这是匈牙利表示法吗?

java

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

线程中的异常无法读取构造函数中的值

线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException:索引 0 超出长度范围;

    import java.util.Scanner;

//import jdk.javadoc.internal.doclets.formats.html.SourceToHTMLConverter;

class checkMatrix1 {
    int row;
    int column;
    int[][] matrix = new int[row][column];

    public checkMatrix1(int row, int column) {
        this.row = row;
        this.column = column;
    }
    public checkMatrix1() {
        this.row = 3;
        this.column = 3;
    }
}

public class test{
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.println(" Enter Row: ");
        System.out.println(" Enter Column: ");
        int row = input.nextInt();
        int column = input.nextInt();
        checkMatrix1 matrix1 = new checkMatrix1(row, column); …
Run Code Online (Sandbox Code Playgroud)

java exception

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

java.lang.String中的contains()方法在某些情况下不能正常运行,任何人都可以解释这种行为

我试图验证一个场景,其中我试图检查是否String包含String使用contains(CharSequence s)方法存在java.lang.String包的另一个.

String s1 = "AQUAFRESH";
String s2 = "AF";

if(s1.toLowerCase().contains(s2.toLowerCase())){
    System.out.println("S1 contains S2");
}
else{
    System.out.println("S1 doesnot contains S2");
}
Run Code Online (Sandbox Code Playgroud)

产生输出,因为S1包含S2,

任何人都可以解释为什么会发生这种行为.

谢谢.

java string

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

我试图显示我输入的三个值中的最大和最小数量

这是我正在进行的任务.我很确定这是我错过的一些小事,但是看到我在为其他课程学习后我正努力工作,我相信另一组眼睛可以帮助我.我应该有这样的事情:

please enter first value---> 5.2
please enter second value---> 1.0
please enter third value-->7.1

smallest value: 1.0
largest value: 7.1
Run Code Online (Sandbox Code Playgroud)

然而,得到一些奇怪的数字,如002C128F为最小值,002C128A为最大值.我将不胜感激任何反馈.我不是要求完成我的作业.我只是想得到一些指导,看到我被卡住了.也许我的if陈述是错的?感谢您的时间.

#include <iostream>

using namespace std;

double min2 (double &a, double &b,double &c)
{  
    double min=0;

    if(a<b)
        min= a;
    else 
        min=b;

    if (c<b)
        min=c;

    return min;
}    

double max2(double &a, double &b, double &c)
{   
    double max=0;

    if(a>b)
        max=a;          
    else 
        max=b;

    if (c>b)
        max=c;

    return max;        
}

int main()
{ 
    double a,b,c=0;

    min2(a,b,c);
    max2(a, b, c);

    cout …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm function

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

为Timestamp.valueOf获取不同的值

我试图获取2018-09-04 13:43:32.922000的时间戳值 Timestamp.valueOf("2018-09-04 13:43:32.922000")

我的预期产量是2018-09-04 13:43:32.922

但我得到2018-09-04 01:13:32.922

这可能是由于不同的时区,因为我在印度的团队得到了确切的结果,但我在加利福尼亚州得到了不同的结果.建议可以解决此问题的更改.

java scala

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

日期格式 API 今天中断了

SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-DD");
System.out.println("=============new Date() ="+new Date());
    
String dateStr =format.format(new Date() );    
System.out.println("==============dateStr "+dateStr );
Run Code Online (Sandbox Code Playgroud)

并查看以下输出

=============new Date() =Mon Feb 01 11:22:02 EST 2021
==============dateStr  = 2021-02-32
Run Code Online (Sandbox Code Playgroud)

这个今天运行良好的代码有什么问题呢?

java api date simpledateformat

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