我想做这样的事情:
QString string;
// do things...
std::cout << string << std::endl;
Run Code Online (Sandbox Code Playgroud)
但代码不编译.如何将qstring的内容输出到控制台(例如出于调试目的或其他原因)?如何转换QString
为std::string
?
我喜欢 git add --interactive.它现在是我日常工作流程的一部分.
问题似乎是它不适用于未跟踪的文件.我想要做的是跟踪一个新文件,但只添加它的一部分,即这个新文件的某些部分尚未准备好上演.
例如,使用git add -i,我可以选择补丁选项,甚至可以编辑单个磁盘以暂存新代码的部分,从而使调试代码注释保持未分级状态.我喜欢这种方式工作,因为它显然我目前正在处理的大型补丁的哪些位置仍然需要工作.
不幸的是,我似乎无法对未跟踪的文件做同样的事情.要么我暂存整个文件,要么没有.我一直在使用的解决方法是在新文件为空时暂存或提交新文件,然后以通常的方式暂存各个更改.但是这个解决方案感觉就像一个肮脏的黑客,当我忘记或改变主意时,它会造成比应有的麻烦.
所以问题是:如何仅仅暂存新文件的一部分,以便跟踪这个新文件但是将其全部或部分内容保持未分级?
我正在查看我正在使用的API的实现.
我注意到一个结构继承自一个类,我暂停思考它...
首先,我没有在我研究过的C++手册中看到结构可以从另一个结构继承:
struct A {};
struct B : public A {};
Run Code Online (Sandbox Code Playgroud)
我想在这种情况下,struct B继承了结构A中的所有数据.我们可以在结构中声明公共/私有成员吗?
但我注意到了这一点:
class A {};
struct B : public A {};
Run Code Online (Sandbox Code Playgroud)
从我的在线C++手册:
类是数据结构的扩展概念:它不是仅保存数据,而是包含数据和函数.
即使A类有一些成员函数,上述继承是否有效?结构继承它们时,函数会发生什么?那反面呢:一个继承自结构的类?
实际上,我有这个:
struct user_messages {
std::list<std::string> messages;
};
Run Code Online (Sandbox Code Playgroud)
我曾经像这样迭代它foreach message in user_messages.messages
.
如果我想在我的结构中添加成员函数,我是否可以更改其声明并将其"提升"到类,添加函数,并像我之前一样迭代我的user_messages.messages?
显然,我仍然是一个新手,我仍然不清楚结构和类是如何相互作用的,两者之间的实际区别是什么,以及继承规则是什么......
我正在编写一个Web应用程序并学习如何urlencode html链接...
这里的所有urlencode问题(见下面的标签)都是"如何...?" 的问题.
我的问题不是"如何?" 但为什么?".
甚至维基百科文章也只讨论它的机制:
http://en.wikipedia.org/wiki/Urlencode,
但不是为什么我应该在我的应用程序中使用urlencode.
什么是安全使用(或者更确切地说,不使用)进行urlencode的含义是什么?
如何使用进行urlencode失败被利用?
使用未编码的网址会出现什么样的错误或失败?
我问,因为即使没有urlencode,我的应用程序开发网站的链接,如下所示按预期工作:
http://myapp/my%20test/ée/ràé
我为什么要使用urlencode?
或另一种说法:
我什么时候应该使用urlencode?在什么样的情况下?
$ cat ~/.gitconfig
[core]
editor = vim
excludefiles = /home/augustin/.gitignore
$ cat ~/.gitignore
toto
$ mkdir git_test
$ cd git_test/
$ git init
$ touch toto
$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# toto
nothing added to commit but untracked files present (use "git add" to track)
$ git --version
git version 1.6.3.3
Run Code Online (Sandbox Code Playgroud)
为什么不被忽略?
〜/ .gitconfig中的其他设置被考虑在内(颜色,编辑器).
我刚刚问了一个与SQL相关的问题,第一个答案是:" 这是一种动态SQL可行的方式. "
因为我之前从未听说过动态SQL,所以我立即搜索了这个网站和网页.Wikipedia没有关于此标题的文章.第一个Google结果都指向用户论坛,人们会在这些论坛中提出或多或少的相关问题.
但是,我没有找到"动态SQL"是什么的明确定义.这是供应商特定的吗?我使用MySQL并且我没有在MySQL手册中找到参考(只有问题,在MySQL用户论坛中大多没有答案).
另一方面,我发现许多对存储过程的引用.虽然我从未使用过任何存储过程,但我对存储过程的掌握稍微好一些.这两个概念有何关联?它们是相同的还是使用另一个?
基本上,我们需要的是对这个概念不熟悉的人简单介绍动态SQL.
PS:如果你有这种感觉,你可能会回答我之前提出过这个问题的问题:SQL:我们怎样才能在table1的字段中给出一个table1 JOIN table2?
编写类和方法的代码内文档通常在哪里?
您是否在标题(.hpp)文件或源(.cpp)文件中的相应类/方法之上编写了这样的doc-blocks?
对这类事情有一个广受尊重的公约吗?大多数C++项目是以一种方式而不是另一种方式来做的吗?
或者文档应该写在双方(即.hpp和.cpp文件中),可能只有一个简短的描述,一个是另一个更长的一个?
最重要的是,是否有任何实际的考虑因素使得以一种方式而不是另一种方式编写它更方便?(例如使用Doxygen等自动文档解析器和生成器......)
每条信息都有+1,有助于完成整个画面.你不需要知道整个答案.我会同样欣赏这个拼图的各个部分.谢谢.
我即将尝试我的第一次交叉编译.我搜索了SO和网络,发现了许多信息,但我并不总是知道如何将这些部分放在一起,因为仍然有一些缺失的部分.
我的主持人:linux Kubuntu amd64.
目标:linux kubuntu x86(32位)(应该很简单,不是吗?)
工具:g ++和cmake.
如何使用gcc/cmake在64位Linux机器上编译32位二进制文件
提到导出CFLAGS = -m32.这是一件作品.
跨平台:选择使用32/64位的
数据类型提及数据类型.我可能必须在我的代码中注意这一点.
#ifdef用于32位平台
#ifdef用于32位平台
链接到以下内容,虽然我还不太清楚如何使用它:http:
//predef.sourceforge.net/prearch.html
http://ww.ubuntuforums.org/showthread.php?t=1377396
我做了:sudo apt-get install g ++ - multilib
理想情况下,当我'make'(使用cmake)时,它应该吐出amd64二进制文件和x86二进制文件.
我的CMakeLists.txt的一部分如下所示:
add_definitions(-Wall -pthread)
add_executable (../run.amd64 user.cpp time.cpp init.cpp utils.cpp main.cpp)
target_link_libraries(../run.amd64 cppcms dbixx config++ ctemplate)
Run Code Online (Sandbox Code Playgroud)
如何引入标志-m32来创建第二个可执行文件?
我是否只想制作一个可执行文件(例如,用于测试和调试),如何告诉cmake创建一个或两个二进制文件?
此外,您可以看到我使用了一些第三方库,其中一些我必须自己编译.这是否意味着我还需要为目标主机编译每个二进制文件?有些人使用cmake,有些人使用:./ configure; 使;
如何为目标主机编译这些库(要使用的标志等)?
注意:动态链接库已经编译并安装在目标计算机上,所以也许我不需要担心这一步......我不确定:这是我遗失的部分之一......
我需要的是一种教程,或至少一些缺失的部分.我将更新这篇文章,详细介绍我取得的成就以及如何实现.
谢谢.
PS
搜索更多,我发现了这个:
http://www.mail-archive.com/cmake@cmake.org/msg26265.html
"原始设计似乎不是为了windows-linux或linux-windows而设计的交叉编译."
cmake没有测试linux amd64到linux x86.
http://www.cmake.org/Wiki/CMake_Cross_Compiling#FAQ.2FPotential_Problems
"在混合的32/64位Linux安装中,交叉编译不能仅用于构建32/64位."
??
我正在努力a:hover
克服一种我不能覆盖的不情愿的CSS风格.
我试图检查Firebug中的元素,但我不明白为什么它不起作用.我甚至没有看到如何a:hover
在Firebug中正确检查css事件.
我看过:
Firebug中的悬停检查http://blog.borngeek.com/2010/04/16/hover-inspection-in-firebug/
但我还没弄清楚如何重现那里提到的步骤.
另外:Pseudo-Phantoms http://meyerweb.com/eric/thoughts/2009/11/03/pseudo-phantoms/
如何:hover
使用Firebug 检查/调试CSS伪类?
我们都有记录代码的好习惯,对吧?
如今,代码内文档本身就有一种语法.它几乎就像一种编程语言.问题是:
很难不听说doxygen.在我参与的每个开源软件项目中都提到过.但是,看看官方的doxygen网站,doxygen定义任何规格都是显而易见的! 当我读到"它可以帮助我的方式"时,我得到的印象是,doxygen只是一个提取代码内文档并将其呈现在漂亮的HTML页面中的软件.看看doxygen首页,我甚至认为doxygen可以使用第三方规范中定义的任何文档语法并将其解压缩并输出为HTML.
而且,有趣的是,doxygen的网站,并没有利用这个词doxygen的,就好像它是没有品牌的软件,而是一个普通名词(当然,是吗?)
什么是doxygen真的吗?
我对doxygen和其他代码解析器之间的关系特别感到困惑,比如ANTLR,boost-spirit,Ragel ......
例如,什么是doxygen可以做的,ANTLR不能,而ANTLR可以做氧吗?
另外,看看Drupal项目.他们有:
因此,采用C++类比,似乎"doxygen"这个词过载并且在不同的上下文中意味着不同的东西.
在Drupal项目中,"doxygen"并不是指软件,而是指文档语法的(标准?)规范,尽管如上所述,doxygen网站本身的头版并未声称是这样的事情!
所以,我的离题是:
还有其他文档语法规范吗?
c++ documentation specifications doxygen documentation-generation