我正在制作一个小文件阅读和数据验证程序,作为我的TAFE(大专院校)课程的一部分,这包括检查和验证日期.
我决定最好用一个单独的类来完成,而不是将它集成到我的主驱动程序类中.
问题是我的测试程序运行后出现了分段错误(核心转储).我可以说,在程序终止时发生错误,在调用析构函数后弹出.到目前为止,我没有找到这个错误的原因,并且希望一些开明的灵魂可能向我展示我的方式的错误.
date.h
#ifndef DATE_H
#define DATE_H
#include <string>
using std::string;
#include <sstream>
using std::stringstream;
#include <cstdlib>
using std::exit;
#include <iostream>
using std::cout;
using std::endl;
class date {
public:
explicit date();
~date();
bool before(string dateIn1, string dateIn2);
int yearsBetween(string dateIn1, string dateIn2);
bool isValid(string dateIn);
bool getDate(int date[], string dateIn);
bool isLeapYear(int year);
private:
int days[];
};
#endif
Run Code Online (Sandbox Code Playgroud)
date.cpp
#include "date.h"
date::date() {
days[0] = 31;
days[1] = 28;
days[2] = 31;
days[3] = 30;
days[4] = 31;
days[5] …Run Code Online (Sandbox Code Playgroud) 我正在研究我的第一个非常复杂的基于JQuery的应用程序.
单个Web页面可以包含数百个JQuery相关代码,例如JQueryUI对话框.
现在我想在分离的文件中组织代码.
例如,我将所有初始化对话框代码移动$("#dialog-xxx").dialog({...})到单独的文件中,并且由于重用,我将它们包装在单个函数调用上
dialogs.js
function initDialog_1() {
$("#dialog-1").dialog({});
}
function initDialog_2() {
$("#dialog-2").dialog({});
}
Run Code Online (Sandbox Code Playgroud)
这简化了功能代码并使呼叫者页面清晰
$(function() {
// do some init stuff
initDialog_1();
initTooltip_2();
});
Run Code Online (Sandbox Code Playgroud)
这是正确的模式吗?
你在使用更有效的技术吗?
我知道在许多js文件中拆分代码会引入丑陋的带宽使用情况.
是否存在一些良好的实践或工具来"加入"生产环境的文件?
我想象一些工具比简单地最小化和/或压缩JS代码做得更多.
问题:提供了一个大的静态字符串列表.由数据和通配符元素(*和?)组成的模式字符串.想法是返回与模式匹配的所有字符串 - 足够简单.
当前解决方案:我目前正在使用线性方法扫描大型列表,并根据模式对每个条目进行通配.
我的问题:是否有任何合适的数据结构可以存储大型列表,以便搜索的复杂性小于O(n)?
也许是类似于后缀的东西?我也考虑过在哈希表中使用双克和三克,但是根据返回的单词列表和模式的合并来评估匹配所需的逻辑是一场噩梦,而且我不相信它是正确的做法.
我使用多种语言,目前我不得不向vim表明必须进行哪些拼写检查.有没有办法设置vim,以便自动检测到正确的?我依稀记得在以前的vim版本中,当没有集成拼写检查时,vimspell脚本使这成为可能.
如果这不仅适用于文件而且适用于文件的一部分会更好,因为我经常在一个文件中混合使用多种语言.当然,我想避免同时加载几个词典.
设置-Xms参数有什么好处,例如,初始内存更大,然后是默认计算的一个(根据Java GC调整,我的情况下为64 MB:http: //java.sun.com/javase/ technologies/hotspot/gc/gc_tuning_6.html#par_gc.ergonomics.default_size)?
此外,将初始和最大内存设置为相同大小有什么好处吗?
谢谢.
我有一个列表框,其SelectionMode属性设置为多个.
是否可以将SelectedItem属性绑定到List?而不是一个项目?
谢谢
我必须接管一个用vb.net编写的项目,该项目包含超过400k行的代码,用于严格禁用模式.在我做任何其他事情之前,我想首先在选项严格下构建它 - 可能将它转换为C#.我发现有数千行代码引发了编译错误,主要是关于隐式类型转换.
如果我不想手动纠正每一行,是否有任何工具可以帮助它在选项严格模式下编译?因为将CStr/CInt调用自己添加到每行代码中真的很痛苦.
我刚刚在Qt 4.6中发现了排队连接的有趣行为:
首先排队连接:
connect(someSender, SIGNAL(completed()), this, SLOT(handleCompletion()), Qt::QueuedConnection)
Run Code Online (Sandbox Code Playgroud)
然后someSender发送信号:
emit completed()
Run Code Online (Sandbox Code Playgroud)
在接收信号之前(因为它在队列中),我断开信号:
disconnect(someSender, SIGNAL(completed()), this, SLOT(handleCompletion())
Run Code Online (Sandbox Code Playgroud)
仍然,在下一个eventloop迭代时调用handleCompletion槽.我可以通过在正确的点使用someSender-> blockSignals(true)来防止这种情况发生,但是如果没有提及一些布尔标志来禁用插槽的功能,那就太糟糕了.
特别是,我感到惊讶的是Qt文档中没有提到这种行为(至少我没有找到).
最后一个问题:任何明智的方法来避免这种情况发生?
我希望能够将任何东西传递给git命令(也许它是一个SHA,也许它只是像"origin/master"或"devel/epxerimental"等).git告诉我传递的分支的ref路径有些东西存在,例如
<git_command> 0dc27819b8e9 => output: refs/heads/master
<git_command> xyz/test => output: refs/remotes/xyz/master
...
Run Code Online (Sandbox Code Playgroud)
我一直在寻找git show或git log或git rev-parse并且除了--pretty=format:%d我找不到任何东西.(--pretty=format:%d输出很奇怪,有很多自由空间和空行,有时一条线路上有多个ref路径聚集在一起).
一定有更好的方法?
谢谢阅读.
安德烈
我在MSDN中读取InamingContainer是一个用于创建唯一名称的标记接口.什么时候真的有必要?