小编Anc*_*rya的帖子

如何使 multipledispatch 接受同一类的对象?

I am using multipledispatch to make a Point class, which has three constructors: one that takes a single integer, one that takes two, and one that takes an object of type Point. But I am unable to implement the third constructor as I don't know what argument to give to the @dispatch decorator, since the class Point is not yet defined. I have currently resorted to using object, but is there any way I can use Point itself?

Here's …

python overloading multiple-dispatch

6
推荐指数
0
解决办法
898
查看次数

get() 中的“this.toString()”有什么用?

我在kotlin 文档中找到了这段代码:

var stringRepresentation: String
get() = this.toString()
set(value) {
    setDataFromString(value) // parses the string and assigns values to other properties
}
Run Code Online (Sandbox Code Playgroud)

我不明白this.toString()这里有什么。this指整个对象。为什么每次访问对象时都希望将其转换为字符串?真的应该这样field.toString()吗?(但这也是多余的)

getter tostring getter-setter kotlin

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

即使按值传递,多维数组值也会被修改

我通常将2D数组(按值)传递给函数“ elem”,然后将其进一步传递给另一个函数“ interchange”,该函数执行行交换操作并显示它。但是问题是,在我从交换返回到main()之后,数组的值已从交换更改为结果数组,即使从技术上讲它们对于三个不同的函数(main,elem和interchange)必须是三个不同的变量)。为什么会这样,我该怎么做才能使main()中的数组保持不变?

//include files... 

void interchange(float c[10][10],int m,int n)
{
    int i,j,p,q;
    float temp;

        printf("\nEnter the two row numbers to interchange:");
        scanf("%d%d",&p,&q);

        if((--p<m)&&(--q<n))
        {
            for(i=0;i<m;i++)
            {
                temp=c[p][i];
                c[p][i]=c[q][i];
                c[q][i]=temp;
            }
        } else
        {
            printf("Row numbers must be less than matrix order.\n");
            return;
        }

    printf("\nResultant matrix is:\n"); //print the array in interchange,c
    printf("\n");
    for(i=0;i<m;i++)
        {for(j=0;j<n;j++)
            {
                printf("%f\t",c[i][j]); 
            }
         printf("\n");
        }
}

void elem(float b[10][10],int m,int n)
{
    int ch;
    do
    {
        printf("\n1:Row interchange\t 2:Exit elementary transformations\n\nEnter the choice:");
        scanf("%d",&ch);  //get …
Run Code Online (Sandbox Code Playgroud)

c pass-by-reference multidimensional-array

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