问题列表 - 第43173页

何时在while循环中使用for循环?

为了相同的目的,我们可以使用for循环和while循环.如果我使用而不是在什么时候它们会影响我们的代码呢?在if-else和switch-case之间出现了同样的问题?如何决定使用什么?比如你更喜欢哪一个?

这段代码:

int main()
{
   int n = 10;

   for(int i=0;i<n;i++)
    {
        do_something();
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

或者这段代码:

int main()
{
    int n=10,i=0;

    while(i<n)
    {
          do_something();
          i++;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果使用for或while循环不会以任何方式影响代码那么我可能知道需要为同样的问题制作2个解决方案吗?

c c++

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

如何创建封装T4模板文本部分的方法?

而不是这个.tt:

<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ import namespace="System.IO" #>
<#@ output extension=".txt" #>
<#@ assembly name="System"#>

<# message = "hello world" ; #>

blah blah blah etc. very complex example with embedded expression like
<#=message#>
Run Code Online (Sandbox Code Playgroud)

我想要一个输出函数,它将返回输出等等等等.:

    <#@ template debug="false" hostspecific="true" language="C#" #>
    <#@ import namespace="System.IO" #>
    <#@ output extension=".txt" #>
    <#@ assembly name="System"#>

    <#output();#>

   <#+ output() { #>
   blah blah blah etc. very complex example with embedded expression like
    <#=message#>

   <#}
   #>
Run Code Online (Sandbox Code Playgroud)

当然上面的语法不正确.这该怎么做 ?

c# t4 visual-studio

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

多个CSS文件和性能

将所有CSS合并到一个文件中是否明智?是否会有任何性能提升.我必须假设一个HTTP请求是为了在初始页面加载时获取每个文件,并且减少这些请求似乎是有意义的.

是否有任何理由不将所有css合并到一个文件中?(例如可维护性或其他性能问题)

html css performance

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

如何解压epub格式的文件?

我正在开发用于加载 ePUB 文件的 iPhone 电子书阅读器。我想知道如何解压缩 ePUB 文件格式。周围有例子吗?

谢谢。

xcode objective-c epub ios4

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

(c cpp语言)

请告诉我#define我想用#define在printf的地方写p时我想执行c程序但请告诉我怎么样...

c

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

Ruby和为Float实例修改self

我想改变float实例的self值.

我有以下方法:

class Float
  def round_by(precision)
    (self * 10 ** precision).round.to_f / 10 ** precision
  end
end
Run Code Online (Sandbox Code Playgroud)

而且我想添加round_by!将修改自我值的方法.

class Float
  def round_by!(precision)
    self = self.round_by(precision)
  end
end
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,说我无法改变自我的价值.

任何的想法 ?

ruby

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

字符串接受界面应该如何?

这是对这个问题的跟进.假设我编写了一个接受或返回const字符串的C++接口.我可以使用const char*以零结尾的字符串:

void f(const char* str); // (1)
Run Code Online (Sandbox Code Playgroud)

另一种方法是使用std :: string:

void f(const string& str); // (2)
Run Code Online (Sandbox Code Playgroud)

也可以写一个重载并同时接受:

void f(const char* str); // (3)
void f(const string& str);
Run Code Online (Sandbox Code Playgroud)

甚至是与boost字符串算法结合使用的模板:

template<class Range> void f(const Range& str); // (4)
Run Code Online (Sandbox Code Playgroud)

我的想法是:

  • (1)不是C++ ish,并且当后续操作可能需要知道字符串长度时可能效率较低.
  • (2)是坏的,因为现在f("long very long C string");调用std :: string的构造,其涉及堆分配.如果f使用该字符串只是为了将它传递给一个需要C字符串的低级接口(如fopen)那么它只是浪费资源.
  • (3)导致代码重复.虽然f可以根据什么是最有效的实现来调用另一个.但是我们不能基于返回类型重载,就像std :: exception :: what()返回const char*一样.
  • (4)不能单独编译,可能会导致更大的代码膨胀.
  • 根据实现所需的内容在(1)和(2)之间进行选择,即将实现细节泄露给接口.

问题是:什么是优先方式?我可以遵循任何单一指南吗?你有什么经历?

编辑:还有第五个选项:

void f(boost::iterator_range<const char*> str); // (5)
Run Code Online (Sandbox Code Playgroud)

它具有(1)的优点(不需要构造字符串对象)和(2)(字符串的大小显式传递给函数).

c++

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

我正在运行.bat文件中的应用程序.如何让窗口上下滚动?

我的Java应用程序从此.bat文件运行

@ECHO OFF
mode con:cols=130 lines=60
CLS
java -cp lib\postgresql-9.0-801.jdbc4.jar;bin telecom.cli.Telecom
PAUSE
Run Code Online (Sandbox Code Playgroud)

一个窗口打开,应用程序运行顺畅...但我不能向上和向下滚动.
我需要添加到此.bat文件中?

batch-file

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

Cocoa - NSEvent响应SHIFT键?

我想知道NSEvent是否响应键盘上的"Shift"键.我正在调试我的应用程序时记录keyCodes,并且我没有获得shift键的keyCode值.

谢谢,

凯文

编辑:这是我从用户响应中使用的代码.

-(void)keyDown:(NSEvent*)event
{   

    if ([event modifierFlags] == NSShiftKeyMask) {
        NSLog(@"Shift key pressed");
    }
}
Run Code Online (Sandbox Code Playgroud)

Shift键仍未被识别...

cocoa objective-c nsevent

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

帮助使用Lisp调试器

我正在尝试理解如何解释Lisp调试器的输出和使用.

我有一个非常简单的Backtrace来评估我的函数,但我似乎无法弄清楚如何使用它来找出我的函数中发生异常的Lisp'形式'.

我很欣赏任何关于我应该做什么的线索,找到我的代码中错误产生的地方.

另外 - 为什么第二帧显示为"没有可用于帧的调试信息"?

我用调试器和repl附加了一个屏幕截图(我还在下面包含了我的函数 - 我知道这是非常错误的 - 但我只是对学习正确使用调试器感兴趣).另外,我在第一帧上点击'v'去了源,但这导致了repl下面的错误.(编辑 - 通过下载并将其复制到正确的路径来修复缺少的源代码问题)

替代文字

(可怕的功能 - 请不要评论!)

(defun myquicksort2 (lst)
  (if (eql 1 (length lst))
      lst
      (let ((mid (middle lst)))
    (do ((i 0 (+ i 1)))
        ((>= i mid) (append (myquicksort2 (subseq lst 0 mid))
                  (myquicksort2 (subseq lst mid (length lst)))))
      (if (> (ltval i lst) (nth 100 lst))
          (let ((tmp (ltval i lst)))
        (setf (nth i lst) (gtval i lst))
        (setf (nth (- (- (length lst) i) 1) lst)  tmp))))))) …
Run Code Online (Sandbox Code Playgroud)

lisp sbcl common-lisp

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

标签 统计

c ×2

c++ ×2

objective-c ×2

batch-file ×1

c# ×1

cocoa ×1

common-lisp ×1

css ×1

epub ×1

html ×1

ios4 ×1

lisp ×1

nsevent ×1

performance ×1

ruby ×1

sbcl ×1

t4 ×1

visual-studio ×1

xcode ×1