小编pha*_*t0m的帖子

为什么数组的地址等于它在C中的值?

在下面的代码中,指针值和指针地址按预期不同.

但数组值和地址不行!

怎么会这样?

产量

my_array = 0022FF00
&my_array = 0022FF00
pointer_to_array = 0022FF00
&pointer_to_array = 0022FEFC
Run Code Online (Sandbox Code Playgroud)
#include <stdio.h>

int main()
{
  char my_array[100] = "some cool string";
  printf("my_array = %p\n", my_array);
  printf("&my_array = %p\n", &my_array);

  char *pointer_to_array = my_array;
  printf("pointer_to_array = %p\n", pointer_to_array);
  printf("&pointer_to_array = %p\n", &pointer_to_array);

  printf("Press ENTER to continue...\n");
  getchar();
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers

179
推荐指数
5
解决办法
7万
查看次数

setuptools:包数据文件夹位置

我使用setuptools来分发我的python包.现在我需要分发额外的数据文件.

从我从setuptools文档中收集到的内容,我需要将我的数据文件放在包目录中.但是,我宁愿将我的数据文件放在根目录的子目录中.

我想避免的:

/ #root
|- src/
|  |- mypackage/
|  |  |- data/
|  |  |  |- resource1
|  |  |  |- [...]
|  |  |- __init__.py
|  |  |- [...]
|- setup.py
Run Code Online (Sandbox Code Playgroud)

我想要的是:

/ #root
|- data/
|  |- resource1
|  |- [...]
|- src/
|  |- mypackage/
|  |  |- __init__.py
|  |  |- [...]
|- setup.py
Run Code Online (Sandbox Code Playgroud)

如果它不是必需的话,我对拥有这么多子目录感到不舒服.我找不到原因,为什么我/ /将文件放在包目录中.使用如此多的嵌套子目录恕我直言也很麻烦.或者有任何理由可以证明这种限制吗?

python setuptools

81
推荐指数
2
解决办法
4万
查看次数

将C++模板参数限制为子类

如何强制模板参数T成为特定类的子类Baseclass?像这样的东西:

template <class T : Baseclass> void function(){
    T *object = new T();

}
Run Code Online (Sandbox Code Playgroud)

c++ templates

72
推荐指数
6
解决办法
3万
查看次数

为什么追加到列表不好?

我最近开始学习scala,并且我遇到了::(cons)函数,它在一个列表前面.
在"Scala编程"一书中,它指出没有附加函数,因为附加到列表具有性能o(n)而前置函数具有o(1)的性能

有些事情让我觉得这个说法错了.

性能是否依赖于实现?是不是可以简单地使用前向和后向链接实现列表并将第一个和最后一个元素存储在容器中?

我想的第二个问题是,当我有一个列表时,我应该做什么,比如说1,2,3,我想在它的末尾添加4个?

performance functional-programming scala

67
推荐指数
5
解决办法
2万
查看次数

我何时使用null初始化JavaScript中的变量?

我已经看到了声明变量并设置为undefined和null的不同代码示例.如:

var a; // undefined - unintentional value, object of type 'undefined'
var b = null; // null - deliberate non-value, object of type 'object'
Run Code Online (Sandbox Code Playgroud)

如果遵循这些声明的代码为a或b赋值,那么使用一种声明而不是另一种声明的原因是什么?

javascript variables null undefined

36
推荐指数
4
解决办法
5万
查看次数

使用matplotlib绘制方程图

我正在尝试创建一个函数来绘制我告诉它的任何公式.

import numpy as np  
import matplotlib.pyplot as plt  
def graph(formula, x_range):  
    x = np.array(x_range)  
    y = formula  
    plt.plot(x, y)  
    plt.show()  
Run Code Online (Sandbox Code Playgroud)

当我尝试调用它时会发生以下错误,我相信它会在它到达之前尝试进行乘法运算y = formula.

graph(x**3+2*x-4, range(-10, 11))

Traceback (most recent call last):  
  File "<pyshell#23>", line 1, in <module>  
    graph(x**3+2*x-4, range(-10, 11))  
NameError: name 'x' is not defined  
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

在PHP中将实例方法作为参数传递

我想创建一个Listener类

class Listener {
    var $listeners = array();

    public function add(callable $function) {
        $this->listeners[] = $function;
    }

    public function fire() {
        foreach($this->listeners as $function) {
            call_user_func($function);
        }
    }
}

class Foo {
    public function __construct($listener) {
        $listener->add($this->bar);
    }

    public function bar() {
        echo 'bar';
    }
}



$listener = new Listener();
$foo = new Foo($listener);
Run Code Online (Sandbox Code Playgroud)

但是此代码失败并出现此错误:

注意:未定义的属性:第18行的index.php中的Foo :: $ bar

可捕获的致命错误:传递给Listener :: add()的参数1必须是可调用的,给定null,在第18行的index.php中调用,在第5行定义index.php

我究竟做错了什么?

php methods class argument-passing

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

在PHP中用空格替换Dash

我目前在我的代码中有这一行:

<div><a href="http://www.envisionforce.com/local/'.$row[website].'-seo-services">'.ucwords($row[website]).'</a></div>
Run Code Online (Sandbox Code Playgroud)

它会显示一个城市名称,例如:

Puiol-del-piu
Run Code Online (Sandbox Code Playgroud)

但我需要的是它显示没有破折号,以便ucwords将大写每个单词的第一个字母,如下所示:

Puiol Del Piu
Run Code Online (Sandbox Code Playgroud)

如果代码可以局限于这一行,那将是很好的,因为我在页面中还有更多的东西与其他东西相关.

php string

27
推荐指数
4
解决办法
7万
查看次数

最佳使用BitmapFactory.Options.inSampleSize来提高速度

感谢Schermvliegeranddev.org上提出这个问题,

我只是把他的问题复制到SO,因为没有人在另一个网站上回复,我也面临同样的问题.

我想知道BitmapFactory.Options.inSampleSize关于显示图像的速度的最佳用途是什么.
文档提到使用2的幂的值,所以我正在使用2,4,8,16等.

我想知道的是:

  1. 我应该重新采样到仍然大于屏幕分辨率的最小尺寸,还是应该采样到足够大的尺寸以避免OutOfMemoryError
  2. 如何在不耗尽内存的情况下计算仍然可以显示的图像的最大尺寸?图像的颜色深度是否也起作用,显示的深度是什么?
  3. 通过两种机制(BitmapFactory对于较大的文件,setImageURI()对于较小的文件)显示图像是否有效.我正在使用一种ImageSwitcher方式.
  4. 它是否有助于创建Bitmap,BitmapFactory.OptionsinTempStorage在应用程序的开头或只对动态创建它们,在需要的时候?

android bitmap bitmapfactory

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

明确指定通配符的上限时有区别吗?

假设我有一个通用的class Generic<A extends BaseType>.

就Java语言规范而言,在以下两种类型声明之间是否存在显着差异?

Generic<?>
Generic<? extends BaseType>
Run Code Online (Sandbox Code Playgroud)

嵌套通配符怎么样?

List<Generic<?>>
List<Generic<? extends BaseType>>
Run Code Online (Sandbox Code Playgroud)

考虑到这一点,我认为这些是等价的.Generic指定type参数A具有BaseType上限.

因此,BaseType无论是否明确指定,通配符都应始终"自动"或"隐式"限制.

下面,我尝试调和我的直觉与JLS.


我找不到有关"隐式"边界的信息,所以我从查看子类型规则开始.

阅读有关子类型$ 4.10.2的JLS部分,它说:

给定泛型类型声明C<F1,...,Fn>(n> 0),参数化类型的直接超类型C<T1,...,Tn>(其中Ti(1≤i≤n)是一个类型)是以下所有:

  • D<U1 ?,...,Uk ?>,其中D<U1,...,Uk>泛型类型是泛型类型的直接超类型C<T1,...,Tn>,θ是替换[F1:= T1,...,Fn:= Tn].

  • C<S1,...,Sn>,其中Si含有Ti(1≤i≤n)(§4.5.1).

(强调我的)

据我所知,"通配符"在JLS中不被视为"类型".所以这不适用于前两个,但它适用于这两个List例子.

相反,这应该适用:

给定泛型类型声明C<F1,...,Fn>(n> 0),参数化类型的直接超类型(C<R1,...,Rn> 其中Ri( 1≤i≤n)中的至少一个是通配符类型参数)是参数化类型的直接超类型C<X1,...,Xn>,这是结果将捕获转换应用于C<R1,...,Rn>(§5.1.10).

(强调我的)

捕获转换$ 5.1.10应用于Generic<?>Generic<? …

java generics wildcard jls language-lawyer

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