问题列表 - 第8694页

堆栈上的C++编程手册示例

在本书中,我正在学习本书如何编写堆栈,但是当我编译它时,它会遇到编译错误:

#define DEFAULT_SIZE = 10

class Stack
{
    private:
        int size;
        int top;
        int *value;

    public:
        Stack( int size = DEFAULT_SIZE );
        virtual ~Stack();
        bool isFull();
        bool isEmpty();
        void push(int);
        int pop();
};
Run Code Online (Sandbox Code Playgroud)

并且错误表明:

C:\Documents and Settings\Eddy\Desktop\C++ Playground\Data Structures\stack.h|14|error: expected primary-expression before '=' token|
||=== Build finished: 1 errors, 0 warnings ===|
Run Code Online (Sandbox Code Playgroud)

我使用Code :: Blocks作为我的IDE,我相信你不能在类中初始化,并且创建一个"DEFAULT_SIZE"通常会在默认构造函数中.

我有正确的想法吗?还是我做错了什么?

c++ syntax-error

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

KEY关键字的含义是什么?

在这个MySQL表定义中:

CREATE TABLE groups (
  ug_main_grp_id smallint NOT NULL default '0',
  ug_uid smallint  default NULL,
  ug_grp_id smallint  default NULL,
  KEY (ug_main_grp_id)
);
Run Code Online (Sandbox Code Playgroud)

什么是KEY关键字是什么意思?它不是主键,它不是外键,它只是一个索引吗?如果是这样,这种类型的索引有KEY什么特别之处?

mysql indexing

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

为什么是vertical-align:text-top; 不在CSS中工作

我想将一些文本对齐到div的顶部.似乎vertical-align: text-top;应该做的伎俩,但它不起作用.我做的其他事情,比如将div放入列并显示虚线边框(所以我可以看到div顶部的位置)都可以正常工作.

#header_p { 
    font-family: Arial;
    font-size: 32px;
    font-weight: bold;
}
#header_selecttxt {
    font-family: Arial;
    font-size: 12px;
    font-weight: bold;
    vertical-align: text-top;
}
#header_div_left { 
    float: left; 
    width: 50%;
    border: dashed;
    vertical-align: top;
}
#header_div_right { 
    margin-left: 50%;
    width: 50%;
    border: dashed;
}
Run Code Online (Sandbox Code Playgroud)

css vertical-alignment

73
推荐指数
4
解决办法
22万
查看次数

Java"双支撑初始化"的效率?

Java隐藏功能中,最佳答案提到了Double Brace Initialization,它具有非常诱人的语法:

Set<String> flavors = new HashSet<String>() {{
    add("vanilla");
    add("strawberry");
    add("chocolate");
    add("butter pecan");
}};
Run Code Online (Sandbox Code Playgroud)

这个成语创建了一个匿名内部类,其中只包含一个实例初始化程序,"可以使用包含作用域中的任何[...]方法".

主要问题:这听起来效率低吗?它的使用是否应限于一次性初始化?(当然炫耀!)

第二个问题:新的HashSet必须是实例初始化程序中使用的"this"...任何人都可以了解机制吗?

第三个问题:在生产代码中使用这个成语是否过于模糊

简介:非常非常好的答案,谢谢大家.在问题(3)中,人们认为语法应该是清楚的(尽管我建议偶尔发表评论,特别是如果你的代码会传递给可能不熟悉它的开发人员).

在问题(1)上,生成的代码应该快速运行.额外的.class文件会导致jar文件混乱,并且会稍微减慢程序启动速度(感谢@coobird测量它).@Thilo指出垃圾收集可能会受到影响,在某些情况下,额外加载类的内存成本可能是一个因素.

问题(2)对我来说最有趣.如果我理解答案,那么DBI中发生的事情是匿名内部类扩展了由new运算符构造的对象的类,因此具有引用正在构造的实例的"this"值.井井有条.

总的来说,DBI让我感到非常好奇.Coobird和其他人指出,您可以使用Arrays.asList,varargs方法,Google Collections和提议的Java 7 Collection文字获得相同的效果.Scala,JRuby和Groovy等较新的JVM语言也为列表构建提供了简明的符号,并且与Java良好地互操作.鉴于DBI使类路径混乱,减慢了类加载速度,并使代码更加模糊,我可能会回避它.但是,我打算在一位刚刚获得SCJP的朋友身上发表这篇文章,并且喜欢关于Java语义的好朋友!;-) 感谢大家!

7/2017:Baeldung 对双支撑初始化有很好的总结,并认为它是一种反模式.

12/2017:@Basil Bourque指出,在新的Java 9中你可以说:

Set<String> flavors = Set.of("vanilla", "strawberry", "chocolate", "butter pecan");
Run Code Online (Sandbox Code Playgroud)

这肯定是要走的路.如果您遇到早期版本,请查看Google Collections的ImmutableSet.

java collections performance initialization

786
推荐指数
10
解决办法
12万
查看次数

如何绘制3D表面并隐藏不可见的线条?

有人知道如何绘制3D表面并隐藏不可见的线条吗?

我记得从Apple II书中读过一些代码,BASIC中只有大约25行,它可以绘制一些3D表面,例如山峰或看起来像水波纹的形状.首先显示了不可见的线条,但在添加几行代码后,隐形线也消失了.

有人知道如何做到这一点或知道网上的资源吗?

3d

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

字母数字和空格的正则表达式

不能包含除空格以外的任何特殊字符的文本的常规 exp 是什么?

.net c# regex

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

如何写一个反汇编程序?

我有兴趣将x86解析器编写为教育项目.

我发现的唯一真正资源是Spiral Space," 如何编写反汇编程序 ".虽然这给出了反汇编程序各个组件的高级描述,但我对一些更详细的资源感兴趣.我还快速浏览了一下NASM的源代码,但这有点重要.

我意识到这个项目的一个主要挑战是我将要处理的相当大的x86指令集.我也对基本结构,基本反汇编链接等感兴趣.

有人能指出我有关编写x86反汇编程序的任何详细资源吗?

x86 disassembly

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

Maven无法解析hibernate-c3p0对slf4j的依赖

当我包含hibernate-c3p0在我的Maven pom.xml文件中时,我得到了一个NoClassDefFoundError无法找到的运行时org.slf4j.impl.StaticLoggerBinder.我的印象是Maven会解决这种依赖 - 所以如果c3p0需要slf4j,那么slf4j将被下载并包含在内.

我的pom.xml档案有:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-c3p0</artifactId>
  <version>3.3.1.GA</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

java hibernate c3p0 slf4j

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

Google Spreadsheet API - 查找列中的第一个空单元格?

有没有一种很好的方法可以通过Java从Google的电子表格服务中获取列中的第一个空单元格?

我知道我可以用:

public CellFeed CheckColumn(int row, int col) 
    throws IOException, ServiceException {
    CellQuery query = new CellQuery(cellFeedUrl);
    query.setMinimumRow(row);
    query.setMaximumRow(row);
    query.setMinimumCol(col);
    query.setMaximumCol(col);
    query.setReturnEmpty(true);

    CellFeed feed = service.query(query, CellFeed.class);
    int cell_loc[];

    for (CellEntry entry : feed.getEntries()) {
       cell_loc=CheckIfEmpty(entry);   
    }
    return cell_loc;
}
Run Code Online (Sandbox Code Playgroud)

并浏览条目,但我不想一次加载整个列,这对我的用户来说很慢,而且只是遍历整个列似乎很糟糕

有什么想法吗?

java google-sheets google-apps-script

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

如何编写一个bash别名/函数来grep所有子目录中的所有文件?

我一直在使用以下命令来grep我当前目录中和下面的所有python源文件中的字符串:

find . -name '*.py' -exec grep -nHr <string> {} \;
Run Code Online (Sandbox Code Playgroud)

我想简化一些事情,这样我就可以输入类似的内容

findpy <string>
Run Code Online (Sandbox Code Playgroud)

并获得完全相同的结果.别名似乎不够,因为它们只进行字符串扩展,而我需要指定的参数不是最后一个参数.听起来函数适合于任务,所以我有几个问题:

  • 我怎么写呢?
  • 我把它放在哪里?

bash shell grep

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