问题列表 - 第18748页

为什么使用string :: iterator而不是index?

可能重复:
为什么使用迭代器而不是数组索引?

string::iterator it;
for (it = str.begin(); it < str.end(); it++) 
    cout << *it;
cout << endl;
Run Code Online (Sandbox Code Playgroud)

为什么不:

for (int i = 0; i < str.size(); i++)
    cout << str[i];
cout << endl;
Run Code Online (Sandbox Code Playgroud)

似乎string :: iterator也没有提供范围检查.我们为什么要使用string::iterator而不是索引?

谢谢.

c++ string iterator

38
推荐指数
3
解决办法
5万
查看次数

最奇怪的语言特征

在您看来,您遇到的最令人惊讶,奇怪,奇怪或真正的"WTF"语言功能是什么?

每个答案只能有一个功能.

language-agnostic programming-languages

975
推荐指数
176
解决办法
48万
查看次数

递归地使Django缓存中的路径无效

我正在从Django缓存中删除单个路径,如下所示:

from models                   import Graph
from django.http              import HttpRequest
from django.utils.cache       import get_cache_key
from django.db.models.signals import post_save
from django.core.cache        import cache

def expire_page(path):
    request      = HttpRequest()
    request.path = path
    key          = get_cache_key(request)
    if cache.has_key(key):   
        cache.delete(key)

def invalidate_cache(sender, instance, **kwargs):
    expire_page(instance.get_absolute_url())

post_save.connect(invalidate_cache, sender = Graph)
Run Code Online (Sandbox Code Playgroud)

这有效 - 但有没有办法递归删除?我的路径看起来像这样:

/graph/123
/graph/123/2009-08-01/2009-10-21
Run Code Online (Sandbox Code Playgroud)

只要保存了ID为"123"的图形,就需要使两个路径的缓存无效.可以这样做吗?

django caching path invalidation

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

MySQL存储过程,处理多个游标和查询结果

如何在同一例程中使用两个游标?如果我删除第二个游标声明和获取循环everthing工作正常.该例程用于在我的webapp中添加朋友.它需要当前用户的id和我们想要添加为朋友的朋友的电子邮件,然后它检查电子邮件是否具有相应的用户ID,如果不存在朋友关系,则会创建一个.除了这个之外的任何其他常规解决方案也会很棒.

DROP PROCEDURE IF EXISTS addNewFriend;
DELIMITER //
CREATE PROCEDURE addNewFriend(IN inUserId INT UNSIGNED, IN inFriendEmail VARCHAR(80))
BEGIN
    DECLARE tempFriendId INT UNSIGNED DEFAULT 0;
    DECLARE tempId INT UNSIGNED DEFAULT 0;
    DECLARE done INT DEFAULT 0;

    DECLARE cur CURSOR FOR
        SELECT id FROM users WHERE email = inFriendEmail;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

    OPEN cur;
    REPEAT
        FETCH cur INTO tempFriendId;
    UNTIL done  = 1 END REPEAT;
    CLOSE cur;

    DECLARE cur CURSOR FOR 
        SELECT user_id FROM users_friends …
Run Code Online (Sandbox Code Playgroud)

mysql sql stored-procedures cursor

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

Java中标记接口的用途是什么?

什么都没有在Serializable等标记接口中实现..实施它有什么用?

java annotations marker-interfaces

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

单击取消按钮时禁用errorprovider的验证

有没有办法在点击取消按钮解雇winform时优雅地禁用errorprovider的验证?验证总是在文本框失去焦点时发生,并且我不想在用户单击取消按钮时验证它,当用户单击取消时验证它有点愚蠢.

errorprovider winforms

7
推荐指数
2
解决办法
5095
查看次数

使用NOSQL加入操作

我已经阅读了一些关于Bigtable和NOSQL的文章.他们避免JOIN操作非常有趣.

作为一个基本的例子,让我们采用Employee和Department表,并假设数据分布在多个表/服务器上.

只是想知道,如果数据分布在多个服务器上,我们如何进行JOIN或UNION操作?

sql join bigtable nosql

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

如何在PHP中解决这个问题?

$onethird = 1.0/3;
$fivethirds = 1.0/3+1.0/3+1.0/3+1.0/3+1.0/3;
$half = 1.0/2;
$threehalf = 1.0/2+1.0/2+1.0/2;
var_dump($onethird + $fivethirds == $half + $threehalf);
Run Code Online (Sandbox Code Playgroud)

哪个输出false,但我们都知道:5/3+1/3=2=3/2+1/2

如何解决这个问题?

php math floating-point

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

Grails:如何从控制器测试gsp /模板文件的存在?

我想实现以下内容:

import org.springframework.web.servlet.support.RequestContextUtils as RCU

class HomeController {
    def home = {
        def locale = RCU.getLocale(request)
        render view: viewExists("home_$locale") ? "home_$locale": "home"
    }
}
Run Code Online (Sandbox Code Playgroud)

boolean viewExists(String viewPath)如果输入参数指向有效的GSP或模板文件,那么返回true 的代码是什么?

grails groovy internationalization

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

在OpenGL中绘制许多球体

我想使用OpenGL绘制许多球体(~100k).到目前为止,我正在做类似的事情

for (int i=0; i<pnum; i++){
     glPushMatrix();
     glTranslatef(bpos[i].x, bpos[i].y, bpos[i].z);
     glCallList(DListSPHERE);
     glPopMatrix();
}
Run Code Online (Sandbox Code Playgroud)

在使用适当的球体之前,我使用过GL_POINTS.这允许我glDrawArrays用一个包含所有非常有效点的数组调用.有没有比上面的代码更好的方法来绘制许多相同的对象?

opengl performance glut visualization

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