小编jmi*_*hra的帖子

标准布局c ++

我正在阅读关于C++ POD,Trivial和Standard Layout类的精彩文章 我对标准布局没有清楚了解的一个属性如下: -

 A standard layout has no base classes of the same type as the first 
    non-static data member
Run Code Online (Sandbox Code Playgroud)

因此,以下将不是标准布局,因为它具有与基类相同的第一个成员

struct NonStandardLayout3 : StandardLayout1 {
    StandardLayout1 x; // first member cannot be of the same type as base
};
Run Code Online (Sandbox Code Playgroud)

但是在性能方面和属性方面,上述结构有何不同

struct StandardLayout5 : StandardLayout1 {
    int x;
    StandardLayout1 y; // can have members of base type if they're not the first   
};
Run Code Online (Sandbox Code Playgroud)

这是对此之上的修正.

c++ pod standard-layout c++11

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

构建JSON对象时的Java/Android:java.lang.OutOfMemoryError

我从公共数据库URI http://data.seattle.gov/api/views/3k2p-39jp/rows.json导入JSON数据, 行直到445454.我使用以下代码构建JSON对象整个数据.

   HttpGet get = new HttpGet(uri);
   HttpClient client = new DefaultHttpClient();
   HttpResponse response = client.execute(get);
   BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
    StringBuilder builder=new StringBuilder();
for(String line=null;(line = reader.readLine()) != null;){
      builder.append(line).append("\n");
    }
  JSONTokener jsonTokener=new JSONTokener(builder.toString());
  JSONObject finalJson=new JSONObject(jsonTokener);
  JSONArray data=finalJson.getJSONArray("data");
Run Code Online (Sandbox Code Playgroud)

因为数据太大,我正在03-21 03:41:49.714: E/AndroidRuntime(666): Caused by: java.lang.OutOfMemoryError指出错误的来源buildr.append(line).append("\n").无论如何,我可以处理大型数据集而不会出现内存分配问题吗?

java android json webrequest

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

Cython错误:未声明的名称未内置:数组

我正在Sage Cell Server中编译此Cython代码,但出现以下错误。

undeclared name not builtin: array
Run Code Online (Sandbox Code Playgroud)

它在Sage Notebook中显示相同的错误。我认为它不能识别numpy,array但这很奇怪,因为我已经导入了numpy。

 cython('''
  cimport numpy as np
  ctypedef np.int DTYPE
  def computeDetCy(np.ndarray[DTYPE, ndim=2] matrix):      
      return determ(matrix,len(matrix))

cdef inline int determ(np.ndarray[DTYPE, ndim=2] matrix, int n):
cdef int det = 0
cdef int p=0
cdef int h
cdef int k
cdef int i=0
cdef int j=0
cdef np.ndarray[DTYPE, ndim=2] temp=np.zeros(4,4)
if n == 1:
    return matrix[0][0]
elif  n == 2:
    return matrix[0][0]*matrix[1][1] - matrix[0][1]*matrix[1][0]
else:
    for p in range(0, n): …
Run Code Online (Sandbox Code Playgroud)

numpy cython sage

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

通过iframe src进行xss攻击

我允许用户嵌入youtube或任何其他视频源,只要求他们提交src他们收到的嵌入代码.然后我将其保存到数据库中并通过iframe加载它.但是,如果有一个来源,src="http://innocent.com/hackingContent.php"那么,我的网站是否可以用于xss攻击?

我估计用户可能有一个恶意脚本,只要srciframe将源嵌入到我自己的html中就会加载.

EDIT如果什么src包含<script type="text/javascript" src="evilScript.js"></script>.虽然我正在使用preg_match只是为了确保其唯一的URL.

javascript xss iframe

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

这个for循环的大O分析

 sum = 0;
 for (i = 1; i <= n; i++) {    //#1
   for (j = 1; j <= i * i; j++) {     //#2
      if (j % i == 0) {    //#3 
          for (k = 1; k <= j; k++) {   //#4
             sum++;
         }
     }
  } 
Run Code Online (Sandbox Code Playgroud)

}

以上让我感到困惑

Suppose #1 runs for N times
    #2 runs for N^2 times
    #3 runs for  N/c since for N inputs N/c could be true conditions
    #4 runs for  N times
Run Code Online (Sandbox Code Playgroud)

因此大致我可以看O(N ^ …

java big-o code-analysis for-loop time-complexity

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

奇怪的toCharArray()行为

我正在尝试toCharArray()并发现一些奇怪的行为.

假设 private static final char[] HEX_CHARS = "0123456789abcdef".toCharArray();

 System.out.println(HEX_CHARS);

  /* prints 0123456789abcdef */

 System.out.println("this is HEX_CHARS "+HEX_CHARS); 
  /* prints [C@19821f */
Run Code Online (Sandbox Code Playgroud)

这背后的理论原因是什么?

java arrays char

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

C编译时间cmath错误

我已经被困在这一段很长一段时间了,由于某种原因我的C代码没有编译.它会产生很多cmath错误

因为将我的代码和错误放在一起需要很大的空间:

#include <stdlib.h>
#include <stdio.h>
#include <Windows.h>
#include <fstream>

typedef unsigned char* pointer;

void printDbPointers(void);
void show_int(int);
void show_bytes(unsigned char*, int);
void floatingPointRep();
void fahrenheit();

int main()
{
    int a = 100;
    show_int(a);
    floatingPointRep();
    fahrenheit();
    printDbPointers();
    Sleep(100000);
    return 0;
}

void printDbPointers(){
    char hi[7] = {'t', 'i', 'g', 'e', 'r', '\0'};
    char *p, **dp;

    p = &(hi[0]);
    dp = &p;

    printf("%c %c\n", *p, **dp);
    printf("%p %p %p\n", p, *dp, hi);
    p+=1;
    printf("%c, %c\n", *p, **dp);
    printf("%p %p %p\n", p, …
Run Code Online (Sandbox Code Playgroud)

c compiler-errors cmath visual-studio-2012

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

Stephen Wolfram 的规则 30 模式说明

问题

我正在研究 Wolfram 的 Mathematica 生成随机数的方法,发现它使用了元胞自动机 规则 30。其基本解释如下:

基本元胞自动机的演化完全可以通过一个表格来描述,该表格根据其左侧元胞的值、元胞本身的值以及该元胞的值指定给定元胞在下一代中将具有的状态。它的权利

由于与给定单元格相邻的三个单元格有 2 x 2 x 2 = 2^3 = 8 种可能的二元状态,因此总共有 2^8 = 256 个基本元胞自动机,每个元胞自动机都可以用 8-位二进制数(Wolfram 1983, 2002)。例如,给出规则 30 演变的表格(在二进制中,规则 30 写为30 = 00011110)如下所示。在此图中,三个相邻单元格的可能值显示在每个面板的顶行,中央单元格在下一代中采用的结果值显示在下方中心位置。

第 30 条

问题

上图与表格上部的各个模式有何关联?我知道图表是由它们组成的,但对它如何按顺序形成感到困惑。我没有看到任何行/列的区别特征可能告诉我这些层是使用给定表中的上行构建的。简而言之,我想看看这背后俄罗斯方块现象

wolfram-mathematica rule cellular-automata

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